如何在drf-yasg库中添加自定义参数和响应值以用于Swagger文档?

5

我使用drf-yasg库来为开发人员前端生成项目文档。但我无法弄清如何将我的数据添加到“参数”和“响应”字段中。

例如,这个类:

class VendorsCreateView(APIView):
    """
    :param:
            data = {
            "vendor_name": "TestName",
            "country": "Belarus",
            "nda": "2020-12-12",
            "parent": "",
            "contacts": [{"contact_name": "Mrk", "phone": "2373823", "email": "dRqT@rgmail.com"},
                         {"contact_name": "Uio", "phone": "34567", "email": "rdq@gmail.com"}
                         ]
        }
    :return: swagger name
    """

但我并没有得到我想要的

在此输入图片描述

如何添加这些参数?

2个回答

6

也许这对于想在GET请求中添加额外参数的人有所帮助——您应该使用drf-yasg中的"manual_parameters"参数,例如,您要按字段排序:

order_by = openapi.Parameter('order_by', openapi.IN_QUERY,
                             description="field you want to order by to",
                             type=openapi.TYPE_STRING)

@swagger_auto_schema(manual_parameters=[order_by])
def list(self, request, *args, **kwargs):

swagger: enter image description here


4

2
非常感谢,那个问题仍然很重要。您能告诉我如何添加一个名为“parameters”的字段吗?我尝试了这种方式,但是没有显示任何内容(operation_description和operation_description都无效)。@swagger_auto_schema(operation_description="partial_update description override", responses={404: 'slug not found'}, parameters="test") - Jekson
2
使用序列化器或模式(schema)与request_body参数。请查看drf-yasg GitHub上的testproj代码,例如https://github.com/axnsan12/drf-yasg/blob/d2cc0a348c2d9505a19e6ee7acea1e86fb63d277/testproj/users/views.py的第26和49行。 - Dušan Maďar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接