我只希望使用POST将数据发送到此api端点。有没有办法设置允许哪些请求方法?
class FooViewSet(viewsets.ModelViewSet):
queryset = Foo.objects.all()
serializer_class = FooSerializer
答案 0 :(得分:1)
您是否需要整个ViewSet
或正常GenericView
是否足够?您可以使用CreateAPIView
。
示例:
class FooCreate(generics.CreateAPIView):
Model = Foo
serializer_class = FooSerializer
编辑:
如果确实需要使用ViewSet
,则可以创建仅处理post
个请求的自定义路由器。文档here,包括只读(即get
)示例。
答案 1 :(得分:-2)
可能有更好的解决方案,但我通常做的是
if request.method != 'POST':
return Http404
但这似乎有你需要的答案: https://docs.djangoproject.com/en/dev/topics/http/decorators/