(我正在使用最新的django / python / DRF)
我的API端点是应用程序内部的。它们与我在系统中的模型一对一不匹配。我已经看到了两种使用API视图的技巧。
第一种使用方法,比如我正在使用:
@api_view(['GET', 'POST'])
@authentication_classes([JSONWebTokenAuthentication])
def myApiEndPoint(request):
"""
This text is the description for this API.
"""
if request.method == 'GET':
return Response("ok get", status=status.HTTP_200_OK)
elif request.method == 'POST':
return Response("ok post", status=status.HTTP_200_OK)
第二个使用类定义,如DRF文档
class UserViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows users to be viewed or edited.
"""
queryset = User.objects.all().order_by('-date_joined')
serializer_class = UserSerializer
class GroupViewSet(viewsets.ModelViewSet):
"""
API endpoint that allows groups to be viewed or edited.
"""
queryset = Group.objects.all()
serializer_class = GroupSerializer
第二种方式似乎更整洁有序。但是:
由于
答案 0 :(得分:0)
Serializer
(不是ModelSerializer
)创建序列化程序,并为字段设置自定义验证ModelViewSet
作为基类使用viewsets.GenericViewSet
GET
创建名为list
的方法,而POST
创建名为{{1}的方法更多信息请查看viewset docs 只需在视图集中定义这些变量:(另请查看authentication和permissions的文档
create