[英]sanic - How to specify required JSON?
我想为控制器的get
/ post
方法指定所需的JSON,以便使其在SwaggerUI中显示。
例如,我希望request.json
看起来像这样:
{
'key1': <int>,
'key2': <string>
}
我这样初始化SwaggerUI:
from sanic_openapi import swagger_blueprint, openapi_blueprint
app = Sanic(__name__)
# Set up SwaggerUI
app.blueprint(openapi_blueprint)
app.blueprint(swagger_blueprint)
有sanic_openapi.doc.consumes
装饰器,用于装饰视图函数以记录其输入。 装饰器函数的命名遵循OpenAPI规范 。
这是一种应用方法:
@app.post('/recording_test')
@doc.summary('Tests a recording')
@doc.consumes({'key1': str, 'key2': int}, location='body')
async def create_recording_test(request):
...
您可以使用类对输入进行建模。
class RecordingTest:
key1 = str
key2 = int
通过以下方式使用上面的建模输入
@app.post('/recording_test')
@doc.summary('Tests a recording')
@doc.consumes(RecordingTest, location='body')
async def create_recording_test(request):
...
由于您的get方法位于类中,因此您不会大张旗鼓地看到这些参数。 Sanic-openapi和Sanic-swagger还不支持基于类的视图。 :(
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.