sanic如何指定所需的JSON?

2024-06-01 03:09:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我想为控制器get/post方法指定所需的JSON,以便它在SwaggerUI中显示。在

例如,我希望request.json看起来像这样:

{
  'key1': <int>,
  'key2': <string>
}

初始化如下:

^{pr2}$

如何使两个键都显示在parameters中? enter image description here


Tags: 方法jsongetstringrequest控制器postint
2条回答

在swagger中没有看到这个参数,因为get方法在类上。 Sanic openapi和Sanic swagger还不支持基于类的视图。:(

有一个sanic_openapi.doc.consumes装饰器,用于装饰视图函数以记录其输入。decorator函数的命名来自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):
    ...

您可以使用一个类对输入进行建模。在

^{pr2}$

按照以下方式使用上面的建模输入

@app.post('/recording_test')
@doc.summary('Tests a recording')
@doc.consumes(RecordingTest, location='body')
async def create_recording_test(request):
    ...

相关问题 更多 >