小编Ang*_* G.的帖子

如何在 Flask-restx Swagger UI 中自动使用 Marshmallow Schema

我正在尝试使用flask-restx 和marshmallow 创建一个安静的网络服务。

我使用棉花糖进行请求和响应验证。

由于 Flask-restx api 文档不支持 swagger ui 中的棉花糖模式,我想使用 doc 装饰器添加它。

控制器代码:

@ns.route('/')
class Test(Resource):
    @ns.doc(params={'test': 'test'})
    def get(self):
        _input_schema = MySchema()
        errors = _input_schema.validate(request.args)
        if errors:
            return Response(str(errors), status=400)
        other_things()
Run Code Online (Sandbox Code Playgroud)

架构代码:

class MySchema(Schema):
    title = fields.Str()
    id = fields.Integer()
    slug = fields.Str()
Run Code Online (Sandbox Code Playgroud)

我正在尝试自动将参数从 schema 添加到 api 文档,如下所示

@ns.doc(params=MySchema.ReturnAFieldDict())
Run Code Online (Sandbox Code Playgroud)

它会给出类似的东西

@ns.doc(params={"title":"A string", "id": "Int value with min and max", "slug":"A str"})
Run Code Online (Sandbox Code Playgroud)

有什么办法可以做到这一点吗?

flask swagger-ui marshmallow flask-restx

10
推荐指数
1
解决办法
4481
查看次数

标签 统计

flask ×1

flask-restx ×1

marshmallow ×1

swagger-ui ×1