1. 程式人生 > 程式設計 >flask專案整合swagger的方法

flask專案整合swagger的方法

  此次主要介紹介紹在flask框架中如何整合swagger文件, 我們知道以前給同事提供介面文件主要是寫一個文件, 當遇到頻繁修改時,就需要更新文件非常麻煩, 這時swagger文件就出現了,一個線上得介面文件,同事可以在線上檢視介面文件, 當需要修改介面時秩序修改對應得程式碼,文件也會隨之更新。如下圖所示。

flask專案整合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文件,如下圖:

flask專案整合swagger的方法

好了,至此我們已經整合好了swagger文件, 需要更詳細得內容可以參考官網文件, 比方更改文件地址等。

以上就是flask專案整合swagger的方法的詳細內容,更多關於flask專案整合swagger的資料請關注我們其它相關文章!