Python 在Swagger UI中显示响应模式的特定值
我正在为可以使用200或40x HTTP代码进行应答的方法开发一个模式描述,以及一个带有状态字段的JSON响应。我想让状态字段对于不同的响应具有正确的值。我尝试了两种方法:1。使用Python 在Swagger UI中显示响应模式的特定值,python,swagger,swagger-ui,marshmallow,Python,Swagger,Swagger Ui,Marshmallow,我正在为可以使用200或40x HTTP代码进行应答的方法开发一个模式描述,以及一个带有状态字段的JSON响应。我想让状态字段对于不同的响应具有正确的值。我尝试了两种方法:1。使用字段.Str和2。使用字段。常数: 来自棉花糖导入模式,字段 类SchemaAccess(架构): status=fields.Str(默认值='SUCCESS',description='Response status') 状态=字段。常量('SUCCESS') 类SchemaError(架构): status=fi
字段.Str
和2。使用字段。常数:
来自棉花糖导入模式,字段
类SchemaAccess(架构):
status=fields.Str(默认值='SUCCESS',description='Response status')
状态=字段。常量('SUCCESS')
类SchemaError(架构):
status=fields.Str(默认值='ERROR',description='Response status')
状态=字段。常量('错误')
description=fields.Str(description='Error description')
从aiohttp导入web
来自aiohttp_apispec导入文档
routes=web.RouteTableDef()
@routes.post(“/my\u api\u method”)
@文件(
summary='Do smth with a phone number',
description='Do smth with a phone number',
回应={
200: {
“schema”:SchemaAccess,
“说明”:“短信已发送”,
},
400: {
“架构”:架构错误,
'description':'Bad request',
},
}
)
异步定义my_api_方法(请求):
...
1. <代码>字段.Str
该值未传播到JSON API规范:
{
"SchemaSuccess": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Response status"
}
}
},
}
{
"SchemaSuccess": {
"type": "object",
"properties": {
"status": {
"default": "SUCCESS"
}
}
},
}
因此,招摇过市UI中不显示任何值:
2. <代码>字段。常数
值被传播到JSON API规范:
{
"SchemaSuccess": {
"type": "object",
"properties": {
"status": {
"type": "string",
"description": "Response status"
}
}
},
}
{
"SchemaSuccess": {
"type": "object",
"properties": {
"status": {
"default": "SUCCESS"
}
}
},
}
但该字段在“招摇过市”用户界面中根本不显示:
那么,我如何在Swagger UI中显示响应模式的特定值
我使用Python 3、和。是否
字段。Str
是否有要添加的注释来指定此属性的值?Swagger UI中的架构示例使用示例
值(如果提供)。@Helen感谢您的回复!我认为这是一个很好的线索。不幸的是,我在棉花糖字段类中没有看到任何类似于example
的内容,但是在aiohttp apispec
中可能会生成屏幕截图上显示的示例值。虽然我没有看到影响这些值的接口。恐怕我必须修改库…@Helen我错了,实际上Field类有example
属性,它的工作方式和我想要的一样。所以,如果你要写一个答案,我会接受它。:)
是否有字段。Str
有一个注释要添加,指定此属性的值?Swagger UI中的架构示例使用示例
值(如果提供)。@Helen感谢您的回复!我认为这是一个很好的线索。不幸的是,我在棉花糖字段类中没有看到任何类似于example
的内容,但是在aiohttp apispec
中可能会生成屏幕截图上显示的示例值。虽然我没有看到影响这些值的接口。恐怕我必须修改库…@Helen我错了,实际上Field类有example
属性,它的工作方式和我想要的一样。所以,如果你要写一个答案,我会接受它。:)