一、flask
flask是一個python編寫的輕量級框架,可以使用它實現一個網站或者web服務。本文就用flask來開發一個接口。
二:安裝框架
flask需要先安裝再引用。pip install flask
安裝成功見截圖
三:flask開發接口流程
用flask開發接口的流程為:
#__name__代表當前的python文件。把當前的python文件當做一個服務啟動
1、定義一個server
server=flask.Flask(__name__)
2、然后定義接口函數,一般函數和接口函數的區別在於,定義為接口的函數上方要特別加上:
#第一個參數就是路徑,第二個參數支持的請求方式,不寫的話默認是get;
#/index/是接口的url
@server.route('/index',methods=['get','post'])
3、讓程序運行
app.run(host='0.0.0.0', port=50009)啊,其中host設置0.0.0.0的話可以使用公網ip訪問,port是設置的端口號,port不填的話默認5000
import flask
import json
#首先app = Flask(__name__)這部分是一個初始化的過程;__name__代表當前的python文件。把當前的python文件當做一個服務啟動
server= flask.Flask(__name__)
@server.route("/test/")
# 這是個事例get訪問本機http://0.0.0.0:7777/index 響應信息"msg":"這是個響應信息","msg_code":"0000"
@server.route('/index',methods=['get','post'])
def index():
res={"msg":"這是個響應信息","msg_code":"0000"}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
import json
#首先app = Flask(__name__)這部分是一個初始化的過程;__name__代表當前的python文件。把當前的python文件當做一個服務啟動
server= flask.Flask(__name__)
@server.route("/test/")
# 這是個事例get訪問本機http://0.0.0.0:7777/index 響應信息"msg":"這是個響應信息","msg_code":"0000"
@server.route('/index',methods=['get','post'])
def index():
res={"msg":"這是個響應信息","msg_code":"0000"}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
五:接口post請求實例
#這是個實例post請求,定義的接口只有兩個參數'username'、'password',沒有任何業務校驗,參數都不為空則服務返回接口調用成功,參數為空則服務返回接口調用失敗
@server.route('/index',methods=['post'])
def index():
#那么如果要接受傳入的參數,則可用以下方法
username=flask.request.values.get('username')
password=flask.request.values.get('password')
if username and password:
res={"msg":"接口調用成功","msg_code":"0000"}
return json.dumps(res, ensure_ascii=False)
else :
res={"msg":"接口調用失敗,必填項為空","msg_code":"9999"}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
@server.route('/index',methods=['post'])
def index():
#那么如果要接受傳入的參數,則可用以下方法
username=flask.request.values.get('username')
password=flask.request.values.get('password')
if username and password:
res={"msg":"接口調用成功","msg_code":"0000"}
return json.dumps(res, ensure_ascii=False)
else :
res={"msg":"接口調用失敗,必填項為空","msg_code":"9999"}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
如下圖是jmeter測試該本地服務

總結:
至此python一個簡單的web服務實例已經完成。