从你的烧瓶项目中提取夸张的规格
flask-swagger的Python项目详细描述
用于烧瓶的2.0规格抽提器
安装:
pip install flask-swagger
烧瓶摇动提供一种检查烧瓶应用程序的方法(摇动) 对于包含带有swagger 2.0的yaml docstrings的端点 Operation 物体。
class UserAPI(MethodView): def post(self): """ Create a new user --- tags: - users definitions: - schema: id: Group properties: name: type: string description: the group's name parameters: - in: body name: body schema: id: User required: - email - name properties: email: type: string description: email for user name: type: string description: name for user address: description: address for user schema: id: Address properties: street: type: string state: type: string country: type: string postalcode: type: string groups: type: array description: list of groups items: $ref: "#/definitions/Group" responses: 201: description: User created """ return {}
flask swagger在methodview类和 常规烧瓶视图功能。
遵循yaml约定,flask swagger搜索---, 前面的所有内容都以summary(第一行)的形式提供,并且 description(以下几行)当所有内容 后被分析为狂妄自大 Operation 反对。
为了支持 Schema 对象 Parameter 和 Response 对象,瓶子摇摇晃晃偏离了标准。我们需要 内联架构的id字段,然后正确使用该字段 放置 Schema 中的对象 Definitions 反对。
Schema 对象可以在docstrings(见上面的group object)或responses或parameters(见上面的user object)的definitions部分中定义。我们也支持嵌套在其他 Schema 物体。上面显示了一个带有user的address属性的示例。
为了向全世界展示你的招摇规格,你提供了一个烧瓶 沿着这些线做某事的路线
from flask import Flask, jsonify from flask_swagger import swagger app = Flask(__name__) @app.route("/spec") def spec(): return jsonify(swagger(app))
注意,swagger(app)返回的swagger规范是 尽可能少。覆盖并添加到 你认为合适的规格。
@app.route("/spec") def spec(): swag = swagger(app) swag['info']['version'] = "1.0" swag['info']['title'] = "My API" return jsonify(swag)
我们开始执行这项任务的原因是我们的用户界面过于夸张, 但是,烧瓶膨胀不包括膨胀ui。只需遵循 在https://github.com/swagger-api/swagger-ui有很棒的文档 并指出 swaggerUi.url 到你的新烧瓶摇摇晃晃的终点享受。
致谢
flask swagger建立在 flask-sillywalk和 flask-restful-swagger