flask專案整合swagger
阿新 • • 發佈:2020-10-11
此次整合參考flask-restplus官方文件,flask-restplus框架是flask-restful框架的一個加強版, 類似django框架的rest framework框架,應用前得先安裝框架執行命令:
pip install flask-restplus
然後結合官網寫個簡單示例感受一下:
from flask import Flask from flask_restplus import Api, Resource, fields, reqparse app = Flask(__name__) api = Api(app, version='1.0', title='TodoMVC API', description='A simple TodoMVC API',) ns = api.namespace('todo', description='TODO operations') # 模組名稱空間 todo = api.model('Todo', { # 返回值模型 'id': fields.Integer(readonly=True, description='The task unique identifier'), 'task': fields.String(required=True, description='The task details') }) parser = reqparse.RequestParser() # 引數模型 parser.add_argument('id', type=str, required=True, help="id") parser.add_argument('name', type=str, required=True, help="名稱") parser.add_argument('volume', type=int, required=True, help="方量") class TodoDAO(Resource): def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) self.params = parser.parse_args() @ns.expect(parser) # 用於解析對應文件引數, @ns.response(200, "success response", todo) # 對應解析文件返回值 def get(self): return self.params ns.add_resource(TodoDAO, "/to", endpoint="to_do") app.run()
我們啟動得地址為127.0.0.1:5000得地址, 然後我們只需在瀏覽器開啟即可檢視自己寫好得api文件,如下圖:
好了,至此我們已經整合好了swagger文件, 需要更詳細得內容可以參考官網文件, 比方更改文件地址等。