所以我的 flask_apispec 文档器有一个烦人的问题。
我希望我的 api 的帖子正文接收到这个
kwargs:
[
{
"CreatedUserGuid": "string",
"DeviceGuid": "string",
"DeviceMetaDataGuid": "string",
"LastModifiedUserGuid": "string",
"MetaDataTypeId": "string",
"MetadataFieldGroupGuid": "string",
"MetadataFieldName": "string",
"MetadataFieldTemplateMapGuid": "string",
"MetadataFieldValue": "string"
}
]
注意:作为批量输入的平面数组是我想要的。
在 swagger.json 中它看起来像这样:(我想通过 flask_restful 和 flask_apispec 自动记录来实现)
"DMDNEsted" : {
"type":"object",
"properties": {
"PartyMetaData": {
"type":"array",
"items": {
"$ref":"#/components/schemas/DMDSearch"
}
}
}
},
但我似乎无法做到这一点....使用下面的代码(见屏幕底部)我显然得到了这个:
目前的代码是:
class DMDSearch(Schema):
CreatedUserGuid= fields.String(required=False)
DeviceGuid= fields.String(required=False)
DeviceMetaDataGuid= fields.String(required=False)
LastModifiedUserGuid= fields.String(required=False)
MetaDataTypeId= fields.String(required=False)
MetadataFieldGroupGuid = fields.String(required=False)
MetadataFieldName= fields.String(required=False)
MetadataFieldTemplateMapGuid= fields.String(required=False)
MetadataFieldValue= fields.String(required=False)
class DMDNEsted(Schema):
deviceMetadata = fields.Nested(DMDSearch, many=True)
class DeviceMetaDataApi(MethodResource,Resource):
@doc(description='Manage Device Meta Data',tags=['Device Linking','Device Management'],
@use_kwargs(DMDNEsted, location=('json'))
@marshal_with(DeviceMetaDataSchemaAll)
def post(self,**kwargs):
#blah blah handle post