我使用 drf-yasg 为我的 Django REST API 生成 swagger 文档。我有几个端点,items/ 具有 GET、POST 和 DELETE 方法;和 items/
这是我在 urls.py 中的片段:
urlpatters = [
url(r'^items/$', views.ItemViewSet.as_view()),
path('items/<uuid:itemID>', views.ItemViewSet.as_view()),
]
views.py 包含类似以下内容:
class ItemViewSet(mixins.DestroyModelMixin, GenericAPIView):
def get(self, request):
# ...
return Response(HTTP_200_OK)
def post(self, request):
# ...
return Response(status=status.HTTP_201_CREATED)
def delete(self, request, itemID):
# ...
return Response(status=status.HTTP_204_NO_CONTENT)
def delete(self, request):
# ...
return Response(status=status.HTTP_204_NO_CONTENT)
如何从 items/
我已阅读https://github.com/axnsan12/drf-yasg/blob/master/docs/custom_spec.rst和 Exclude URLs from Django REST Swagger但尚未找到可行的解决方案。
最佳答案
您可以通过在views.py中设置swagger_schema = None
来从文档中排除API端点
class MyView(generics.ListCreateAPIView):
"""MyView class doc."""
swagger_schema = None
def get(self, response):
# Do stuff here
来源:https://github.com/axnsan12/drf-yasg/commit/a211184478e6f0ca348312438c9c29d7b535b0fa
关于django - 排除特定 HTTP 方法的 swagger 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52813253/