【问题标题】:drf spectacular not showing query params in swagger uidrf 壮观未在 swagger ui 中显示查询参数
【发布时间】:2021-09-06 04:40:38
【问题描述】:

我有具有以下列表请求功能的通用 ListAPIView。这里的类别是一个查询参数。我试图实现这样,swagger ui 还在 swagger ui doc 中显示查询参数。如何做到这一点?我有以下代码。

@extend_schema(
    parameters=[
        OpenApiParameter(name='category',location=OpenApiParameter.QUERY, description='Category Id', required=False, type=int),
    ],
)
def list(self, request, *args, **kwargs):
    category_id = request.query_params.get('category')
    ....
    return Response(data)

【问题讨论】:

    标签: django django-rest-framework swagger swagger-ui drf-spectacular


    【解决方案1】:

    ApiView(此处为 ListAPIView)上注释的正确入口点是 get 方法,而不是 list 方法。

    这是因为get 是实际的方法,而list 仅被包装以代理到mixin。

    class ListAPIView(mixins.ListModelMixin, GenericAPIView):
        def get(self, request, *args, **kwargs):
            return self.list(request, *args, **kwargs)
    

    FAQ entry.

    注释get方法,自己调用self.list(),参数就会出现。

    【讨论】:

      猜你喜欢
      • 2021-07-27
      • 2020-12-22
      • 2023-01-15
      • 1970-01-01
      • 2019-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多