首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sanic -如何指定所需的JSON?

sanic -如何指定所需的JSON?
EN

Stack Overflow用户
提问于 2018-02-10 19:56:57
回答 2查看 708关注 0票数 0

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

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

代码语言:javascript
复制
{
  'key1': <int>,
  'key2': <string>
}

我按如下方式初始化SwaggerUI:

代码语言:javascript
复制
from sanic_openapi import swagger_blueprint, openapi_blueprint

app = Sanic(__name__)

# Set up SwaggerUI
app.blueprint(openapi_blueprint)
app.blueprint(swagger_blueprint)

如何在parameters中同时显示两个密钥?

EN

回答 2

Stack Overflow用户

发布于 2018-02-10 20:16:57

有一个用于装饰视图函数的sanic_openapi.doc.consumes装饰器,用于记录它们的输入。这个装饰器函数的命名来自于OpenAPI specification

以下是应用它的一种方法:

代码语言:javascript
复制
@app.post('/recording_test')
@doc.summary('Tests a recording')
@doc.consumes({'key1': str, 'key2': int}, location='body')
async def create_recording_test(request):
    ...

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

代码语言:javascript
复制
class RecordingTest:
    key1 = str
    key2 = int

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

代码语言:javascript
复制
@app.post('/recording_test')
@doc.summary('Tests a recording')
@doc.consumes(RecordingTest, location='body')
async def create_recording_test(request):
    ...
票数 1
EN

Stack Overflow用户

发布于 2019-01-31 02:45:02

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48720482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档