使用 flask-restx 的 API 响应的 Swagger 文档

Swagger documentation for API response with flask-restx

我正在阅读 the documentation 有关 flask-restx 的 swagger 文档,并遵循示例。 我知道为了为 API 需要的参数生成 swagger 文档,我应该做

@api.doc(params={'id': 'An ID'})

但是,我找不到有关如何记录 API 的响应正文的说明。不是响应代码,而是例如返回的结果获取方法。我正在寻找的是类似下面的内容:

class MyResource(Resource):
    @api.doc(returns={"info": "Some very interesting information"})
    def get(self, id):
        res = some_function_of_id(id)
        return {"info": res}

有人知道这是否可行吗?如果可行,怎么做?

尝试api.response装饰器

model = api.model('Model', {
    'name': fields.String,
})
@api.route('/my-resource/')
class MyResource(Resource):
    @api.response(200, 'Success', model)
    @api.response(400, 'Validation Error')
    def get(self):
        pass

请注意,@api.marshal_with() 装饰器会自动记录响应..

https://flask-restx.readthedocs.io/en/latest/swagger.html#documenting-with-the-api-response-decorator