Skip to main content
 首页 » 编程设计

python之基于 flask-potion 的应用程序的 Swagger UI

2025年02月15日37mayingbao

有没有办法为基于 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')