0

我正在阅读带有flask-restx的swagger文档的文档,并按照示例进行操作。我知道为了为 API 采用的参数生成招摇的文档,我应该这样做

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

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

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

任何人都知道这是否可能,如果可以,如何?

4

1 回答 1

0

试试 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

于 2021-11-09T08:10:21.670 回答