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