開發接口的常見場景:
一、mock接口,模擬一些接口,在別的接口沒有開發好的時候,你須要測試,能夠先模擬一個假接口來測試。好比常見
二、若須要調用第三方接口時,好比支付接口。
三、查看數據,好比開放數據庫的部分數據時,開發一個接口供他人使用。
1.定義一個接口:
@server.route('/index',methods=['get']) #在函數上面加@server.route()表示該index()函數爲一個接口,若參數沒寫的話,默認是get請求。
def index(): #定義一個函數
2.第一個接口:python
import flask,json
server = flask.Flask(__name__) #把當前這個python文件,當作一個服務,定義Server(啓動服務)
@server.route('/index',methods=['get']) #接口裝飾器,get請求
def index():
res = {'msg':'這是我開發的第一個接口','msg_code':0} #定義一個字典
return json.dumps(res,ensure_ascii=False) #將字典轉化成json串,ensure_ascii=False將unicode轉成十進制
server.run(port=7777,debug=True,host='0.0.0.0') #啓動服務。debug=True,改了代碼以後,不用重啓它會自動幫你重啓redis
# host=0.0.0.0表示別人訪問的時候,用你的ip就能夠訪問了。
運行接口:
get請求,直接在瀏覽器訪問http://127.0.0.1:7777/index,如圖:mysql
3.第二個接口:
傳入兩個參數,username,passwd來註冊用戶,使用post請求,如:
import flask,json # __name__,表明當前這個python文件 server = flask.Flask(__name__) #把我們當前這個python文件,當作一個服務(啓動服務) def my_db(sql): import pymysql coon = pymysql.connect( host='118.24.3.xx', user='jxzx', passwd='123456', port=3306, db='jxzx', charset='utf8') cur = coon.cursor() #創建遊標 cur.execute(sql)#執行sql if sql.strip()[:6].upper()=='SELECT': res = cur.fetchall() else: coon.commit() res = 'ok' cur.close() coon.close() return res @server.route('/reg',methods=['post']) def reg(): username = flask.request.values.get('username')# pwd = flask.request.values.get('passwd') print('username..',username) if username and pwd: sql = 'select * from my_user where username="%s";'%username # res = my_db(sql) if my_db(sql): res = {'msg':'用戶已存在','msg_code':2001} else: insert_sql = 'insert into my_user (username,passwd,is_admin) values ("%s","%s",0);'%(username,pwd) my_db(insert_sql) res = {'msg':'註冊成功!','msg_code':0} else: res = {'msg':'必填字段未填,請查看接口文檔!','msg_code':1001} # 1001必填字段未填 return json.dumps(res,ensure_ascii=False) server.run(port=7777,debug=True,host='0.0.0.0') #debug=True,改了代碼以後,不用重啓它會自動幫你重啓
啓動服務redis
使用postman調用接口reg(),如:sql