人が作ったAPIを利用するとき用、SWAGGER/OPEN APIが導入されてない環境用。
from rest_framework.generics import RetrieveUpdateDestroyAPIView #
viewのclassが何を継承してるかで見分けていく
クラス | GET |
POST |
PUT |
PATCH |
DELETE |
---|---|---|---|---|---|
ListAPIView |
✅ | - | - | - | - |
RetrieveAPIView |
✅ | - | - | - | - |
CreateAPIView |
- | ✅ | - | - | - |
DestroyAPIView |
- | - | - | - | ✅ |
UpdateAPIView |
- | - | ✅ | ✅ | - |
ListCreateAPIView |
✅ | ✅ | - | - | - |
RetrieveUpdateAPIView |
✅ | - | ✅ | ✅ | - |
RetrieveDestroyAPIView |
✅ | - | - | - | ✅ |
RetrieveUpdateDestroyAPIView |
✅ | - | ✅ | ✅ | ✅ |
# 例えばこれは、GET、POST両方OK
class HogeHogeList(ListCreateAPIView):
参考
Documentに書かれてるが早見表的ものが欲しかった
備考
viewが関数とデコレーターで実装されてる場合は、この辺は読んでて全然困らない
@action(methods=['POST'],detail=True)
def register_token(request, code):