Sto scrivendo un'API utilizzando Django REST Framework e mi chiedo se è possibile specificare le autorizzazioni per metodo quando si utilizzano le viste basate sulla classe.Django REST Framework - Autorizzazioni separate per metodi
Reading the documentation Vedo che è abbastanza facile da fare se si stanno scrivendo viste basate su funzioni, semplicemente usando il decoratore @permission_classes
sulla funzione delle viste che si desidera proteggere con le autorizzazioni. Tuttavia, non vedo un modo per fare lo stesso quando utilizzo i CBV con la classe APIView
, perché in questo caso specificherò le autorizzazioni per la classe completa con l'attributo permission_classes
, ma verrà applicato a tutti i metodi di classe (get
, post
, put
...).
Quindi, è possibile avere le viste API scritte con CBV e anche specificare autorizzazioni diverse per ogni metodo di una classe di visualizzazione?
Che ne dite di creare una vista separata per ciascuno di essi? Oppure potresti sovrascrivere i metodi get/post/put nella tua vista e scrivere le tue autorizzazioni. –