使用flask進行接口開發python
語言:Python3數據庫
框架:flaskjson
在進行開發前首先得安裝flask,而後才能使用。安裝能夠直接使用pip命令進行安裝:pip install flask。flask
使用flask進行接口的流程:框架
一、定義一個服務server:函數
server = flask.Flask(__name__) #建立一個服務,把當前的python文件當作一個服務啓動,__name__表明當前的python文件。
二、定義接口函數:post
接口函數的定義須要在定義函數上面加上flask提供的裝飾器 「@server.route()」,將普通函數轉換爲服務登陸接口。spa
@server.route('/regist',methods=['get','post']) #第一個參數表示請求接口路徑,第二個參數表示接口請求方式,若是不填的話默認get方式。
三、運行服務server:debug
server.run(port=8000,debug=True,host='127.0.0.1') # port不能與本地服務端口衝突,host爲要訪問的IP地址,debug=True,表示當前爲調試狀態運行,修改完代碼程序會自動運行,不須要手動從新運行。
按照以上步驟完成一個小接口:調試
示例一:
import flask,json server = flask.Flask(__name__) #建立一個服務,把當前的python文件當作一個服務啓動,__name__表明當前的python文件。 @server.route('/regist',methods=['post']) #第一個參數表示請求接口路徑,第二個參數表示接口請求方式,若是不填的話默認get方式。 def index(): res = {'msg':'這是我開發的第一個接口','msg_code':'0000'} return json.dumps(res,ensure_ascii=False) #二進制轉化爲utf-8 server.run(port=8000,debug=True,host='127.0.0.1') #port不能與本地服務端口衝突,host爲要訪問的IP地址,debug=True,表示當前爲調試狀態運行,修改完代碼程序會自動運行,不須要手動從新運行。
使用postman請求後結果以下:
示例二:
接口實現接收請求數據,並對接收數據按照必定方式進行驗證簽名,簽名經過後,獲取接口請求過來的用戶信息,查找數據庫中是否存在該條記錄,無記錄進行註冊步驟。
import flask,json server = flask.Flask(__name__) #__name__表明當前的python文件。把當前的python文件當作一個服務啓動 @server.route('/regist',methods=['post']) #接口請求地址及接口請求方式 def regist(): jsondata = flask.request.get_json() #獲取到的值爲請求的json串 username = jsondata['username'] if ('username' in jsondata) else '' password = jsondata['password'] if ('password' in jsondata) else '' signjudge = signMD5.signjudge() if signjudge.jsonsignjudge(jsondata) != jsondata['sign']: ########## 簽名校驗失敗 ########## return json.dumps({'msg': '簽名校驗失敗', 'msg_code': '3001'}, ensure_ascii=False) else: pass if username == '' or password == '': ########## 缺乏必填信息 ########## return json.dumps({'msg': '缺乏必填信息', 'msg_code': '1001'}, ensure_ascii=False) else: pass interfacejudge = interfcaejudge.interfacejudge() if interfacejudge.judgefielduser(username) != None: return json.dumps({'msg': '用戶已存在', 'msg_code': '2001'}, ensure_ascii=False) else: interfacejudge.insertsuerinfo(username,password) return json.dumps({'msg': '註冊成功', 'msg_code': '0000'}, ensure_ascii=False) server.run(port=8000,debug=True,host='127.0.0.1')