Swagger UI 用于基于 flask-potion 的应用

Swagger UI for flask-potion based app

有没有办法为基于 flask-potion 的应用程序创建 Swagger-API UI 文档? 我尝试过使用"flasgger",但它不适用于使用药水类型路线编写的路线。

Flask-potion 有一条以下列方式指定的路线-

@Route.GET('/num_products')

但是 "flasgger" 期望路由采用以下方式-

@app.route('/num_products', methods=['GET'])

没有干净的方法可以做到这一点。然而,同样存在一个骇人听闻的解决方案-

Flasgger 适用于默认的 flask 路由。我们可以重新定义之前使用 flask-potion 定义的路由,作为默认的 flask 路由,并从新创建的函数调用早期的 flask-potion 函数。注意-将现有路线更改为新路线对我不起作用。我不得不用新调用掩盖旧调用,并从新调用中调用旧函数。

注意-这仅适用于用户编写的自定义路由,不适用于由 flask potion 从数据模型生成的默认路由。

现有代码-

class ProductResource(BaseModelResource):
    @Route.GET('/num_products')
    def product_count():
        return product.query(...)     

重构代码 -

class ProductResource(BaseModelResource):
    def product_count():
            return product.query(...)

@app.route('/num_products', methods=['GET'])
def product_count_main():
    output = product_count()
    Response(str(output), content_type='application/json')