本篇內容主要講解“怎么使用flask輕松搭建mock服務”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“怎么使用flask輕松搭建mock服務”吧!
為如東等地區(qū)用戶提供了全套網頁設計制作服務,及如東網站建設行業(yè)解決方案。主營業(yè)務為網站建設、成都網站設計、如東網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
做過接口測試的同學一定聽說過mock Server,大家會覺得其很神秘,很高大上!mock Server出現(xiàn)的原因是現(xiàn)今的業(yè)務系統(tǒng)很少有孤立存在的,它們或多或少需要使用兄弟團隊或是其他公司提供的服務,這給我們的聯(lián)調和測試造成了麻煩。于是就有了解決方案——搭建一個臨時的server,模擬那些服務,提供數(shù)據(jù)進行聯(lián)調和測試。下圖很好的解釋了什么是Mock server
Flask
Flask是一個Python編寫的Web 微框架,讓我們可以使用Python語言快速實現(xiàn)一個網站或Web服務。
Falsk的安裝
pip install flask
Flask構建一個web服務簡直太快了,7行代碼就可以搞定,helloword代碼如下:
from flask import Flask app = Flask(__name__) @app.route('/') def index(): return 'Hello World' if __name__ == '__main__': app.run()
然后在ide中運行這個py文件,顯示如下:
在瀏覽器中輸入http://127.0.0.1:5000/ 可以看到瀏覽器中顯示Hello World
代碼分析如下:
@app.route('/')說明了你要訪問的url,'/'代表根目錄;
return 'Hello World'代表在瀏覽器中顯示Hello World,即請求http://127.0.0.1:5000/ 的返回值;
app.run()表示啟動mock 服務。
如果我們需要構建帶參數(shù)的get方法可以使用如下代碼:
@app.route('/check/') def check_version(version=None): if version=='1': return 'version=1.0' elif version=='2': return 'version=2.0' else: return 'bad version'
這里相當于是在url中輸入的參數(shù)
在瀏覽器輸入127.0.0.1:5000/check/2 會輸出version=2.0
在瀏覽器輸入127.0.0.1:5000/check/1會輸出version=1.0
在瀏覽器輸入127.0.0.1:5000/check/111會輸出bad version,
這個實例很容易模擬了我們需要的get方法的請求,判斷具體方法,然后返回相應的值。
如果我們需要創(chuàng)建post方法可以使用如下代碼:
from flask import Flask,request @app.route('/login',methods=['POST']) def login(): if request.method == 'POST': val=str(request.data, encoding = "utf8") print (val) if val.find('admin')==-1: return ' status 400,No such user! ' else: return 'status 200,admin login' else: return ' status 403,login need post method'
通過RESTclient(Firefox插件)構建請求如下:
輸出admin login
代碼解析如下:
methods=['POST'] 限定了可以使用的http方法,只能使POST;
request.method 獲取request的方法;
request.data獲取request中data的值;
str(request.data, encoding = "utf8") 把request.data的值從bytes類型轉換到str類型。
好了,通過上面的實例我們就可以很輕松的模擬POST或者GET方法來構建Mock Server了!
Flask和Django的選擇
Django也是python web開發(fā)的主流框架,他與flask相比區(qū)別如下:
Flask提供了靈活性,簡單性和細粒度的控制。
Flask不受限制,讓你決定如何實現(xiàn)應用程序。
Django為我們的Web應用程序開發(fā)提供了管理面板,數(shù)據(jù)庫界面,目錄結構和ORM的全方位體驗。
如果我們只需要開發(fā)一個輕量級網站或者特定的微服務(比如mock server),我們根本用不上Django自帶的大而全的組件和功能,這時我們應該毫不猶豫地選擇Flask;如果我們要開發(fā)包含各種功能的傳統(tǒng)企業(yè)級網站(比如電商,新聞內容管理,社交網站,辦公OA),使用Django能幫我們節(jié)省不少尋找或開發(fā)第三方擴展的精力。
到此,相信大家對“怎么使用flask輕松搭建mock服務”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!