[英]drf spectacular not showing query params in swagger ui
我有以下列表請求 function 的通用 ListAPIView。 這里的類別是一個查詢參數。 我正在嘗試實現 swagger ui 也顯示 swagger ui 文檔中的查詢參數。 如何做到這一點? 我有以下代碼。
@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)
ApiView
注釋的正確入口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()
,參數就會顯示出來。
我同意 Insa,但您也可以裝飾您的視圖,以避免實現/覆蓋 get 方法只是為了裝飾它。
@extend_schema_view(
get=extend_schema(
parameters=[
OpenApiParameter(name='category', description='Category Id', type=int),
]
)
)
class YourListView(ListAPIView):
...
我刪除了OpenApiParameter
位置並需要 arguments,因為它們等於默認值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.