flask專案整合swagger的方法
阿新 • • 發佈:2020-12-11
此次主要介紹介紹在flask框架中如何整合swagger文件, 我們知道以前給同事提供介面文件主要是寫一個文件, 當遇到頻繁修改時,就需要更新文件非常麻煩, 這時swagger文件就出現了,一個線上得介面文件,同事可以在線上檢視介面文件, 當需要修改介面時秩序修改對應得程式碼,文件也會隨之更新。如下圖所示。
此次整合參考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',help="名稱") parser.add_argument('volume',type=int,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文件, 需要更詳細得內容可以參考官網文件, 比方更改文件地址等。
以上就是flask專案整合swagger的方法的詳細內容,更多關於flask專案整合swagger的資料請關注我們其它相關文章!