gpt4 book ai didi

Django rest swagger_auto_schema 自定义响应体

转载 作者:行者123 更新时间:2023-12-03 10:43:29 28 4
gpt4 key购买 nike

我已经覆盖了 django rest View 中的 list 函数来自定义响应主体(它返回一个 json 数组,我想返回一个包含该数组的对象)
我也想把这个回复放在 swagger doc 中!我在 Django 中使用 drf_yasg 应用程序。
我写了这段代码:

from drf_yasg.openapi import Schema, TYPE_OBJECT, TYPE_STRING, TYPE_ARRAY
from drf_yasg.utils import swagger_auto_schema
class StudentViewSet(viewsets.ModelViewSet):
@swagger_auto_schema(responses={200: Schema(type=TYPE_OBJECT)})
def list(self, request, *args, **kwargs):
queryset = self.filter_queryset(self.get_queryset())
page = self.paginate_queryset(queryset)
if page is not None:
serializer = self.get_serializer(page, many=True)
return self.get_paginated_response(serializer.data)
serializer = self.get_serializer(queryset, many=True)
return Response({'students': serializer.data})

我不知道如何将我的响应对象描述提供给 Schema 对象。我搜索了很多,但没有发现任何有用的东西!

最佳答案

试试下面的代码:

@swagger_auto_schema(responses={
status.HTTP_200_OK: Schema(
type=TYPE_OBJECT,
properties={
'students': Schema(
type=TYPE_ARRAY
)
}
)
})

关于Django rest swagger_auto_schema 自定义响应体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49457751/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com