如何在drf-aysg摇摇欲坠的Web UI中显示棉花糖sheme,作为request_body

时间:2019-08-27 10:08:16

标签: django-rest-framework marshmallow drf-yasg

我正在从事的项目:

1)可使用20多个外部数据源,并且只会有更多的外部数据源(其余api,xmlrpc,boto和boto3,xml等)。主要使用棉花糖方案< / p>

2)计划使用超过100种API方法(使用 django-rest-marshmallow

3)使用 openapi.Schema

通过库 drf-aysg 维护整个API描述。

我要使项目中的所有序列化/反序列化操作相同。为此,我想使用棉花糖

openapi模式描述输入的API数据

PackageCreateDomainSchema = openapi.Schema(
    title="Mass Domain Creation",
    type=openapi.TYPE_OBJECT,
    required=["domains"],
    properties={
        'domains': openapi.Schema(type=openapi.TYPE_ARRAY, items=openapi.Items(type=openapi.TYPE_STRING)),
    },
)

API描述修饰符

@swagger_auto_schema(
    request_body=PackageCreateDomainSchema,
    operation_summary="Package Domain adding",
    tags= ['Tag1', "Tag2"],
    responses= {
         201: openapi.Response('Domain added', CreateDomainSchema , examples=[{"created": 5, "exists": ['example.com'] }])
    }
)

我想使用此代码代替第一个块

from rest_marshmallow import Schema, fields

class PackageCreateDomainSchema(Schema):
    domains = fields.List(fields.String(), required=True)

但是Swagger网络用户界面仅将最后一个类的定义显示为 string ,而不显示为 带有字符串列表的字典 < / p>

如何使库 drf-yasg marchmallow 呈现为复杂对象(不是默认值-字符串)

0 个答案:

没有答案