我想为控制器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)
答案 0 :(得分:0)
有sanic_openapi.doc.consumes
装饰器用于装饰视图函数以记录其输入。这个装饰器函数的命名遵循OpenAPI specification。
以下是应用它的一种方法:
@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):
...
答案 1 :(得分:0)
您没有看到这个招摇因为PARAMS您get方法是阶级。 Sanic-openapi和Sanic-swagger还不支持基于类的视图。 :(