0

我有具有以下列表请求功能的通用 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)
4

1 回答 1

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)

常见问题解答条目

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

于 2021-11-01T16:17:58.650 回答