笔记8
目的: mock|muk|接口,就是模擬接口
1、暫時(shí)代替第三方接口測試,自己模擬一個(gè)接口
2、輔助測試,用來代替沒有開發(fā)好的接口
3、查看數(shù)據(jù)
# import flask #python的輕量級的開發(fā)框架
# # 接口,后臺(tái)服務(wù)的開發(fā)
# # 在瀏覽器運(yùn)行http://127.0.0.1:8080/get_user即可,或者其他訪問接口的方式
# server = flask.Flask(__name__) #__name__當(dāng)前文件名,把咱們這個(gè)app python當(dāng)做一個(gè)server
# @server.route('/get_user',methods=['get','post']) #將下面函數(shù)變成一個(gè)接口
# def get_all_user():
# return 'cm的接口' #return只能返回字符串
# #啟動(dòng)服務(wù),加debug自動(dòng)幫忙重啟
# server.run(port = 8080,debug = True)
# 2、調(diào)用自己的模塊,連接數(shù)據(jù)庫,瀏覽器請求接口
# import tools #使用時(shí),需要用tools.op_mysql()
from lib.tools import op_mysql #使用時(shí),直接用op_mysql()
# 以上兩種方式都可以 3、寫接口前先要形成標(biāo)準(zhǔn)的目錄結(jié)構(gòu),分解一下各個(gè)目錄的文件
? 4、start.py運(yùn)行的啟動(dòng)程序,在這里啟動(dòng) 服務(wù)
#這是程序的入口文件,將啟動(dòng)服務(wù)的命令放里面
#增加根目錄為環(huán)境變量,方便底層目錄執(zhí)行時(shí)目錄錯(cuò)誤
import sys,os
BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #取到api目錄,根目錄
sys.path.insert(0,BASE_PATH)
#加環(huán)境變量才能導(dǎo)入,否則導(dǎo)入會(huì)異常
from lib.main import server
server.run(port = 8080,host = '0.0.0.0',debug = True) #默認(rèn)端口號(hào)是5000
#host = '0.0.0.0' 代表局域網(wǎng)內(nèi)別人都可以通ip訪問自己的接口
5、setting 設(shè)置常規(guī)變量等
1 MYSQL_HOST = 'X.X.X.X' 2 PASSWORD = '123456' 3 PORT = 3306 4 USER = 'jxz' 5 DB = 'jxz'6、main.py......自己的主程序
# import tools #使用時(shí),需要用tools.op_mysql()
from lib.tools import op_mysql #使用時(shí),直接用op_mysql()
# 以上兩種方式都可以
import flask,json #python的輕量級的開發(fā)框架
# 接口,后臺(tái)服務(wù)的開發(fā)
# 在瀏覽器運(yùn)行http://127.0.0.1:8080/get_user即可,或者其他訪問接口的方式
server = flask.Flask(__name__) #__name__當(dāng)前文件名,把咱們這個(gè)app python當(dāng)做一個(gè)server
#瀏覽器輸出bt_stu表中前5條的數(shù)據(jù)
@server.route('/get_user',methods=['get','post']) #將下面函數(shù)變成一個(gè)接口
def get_all_user():
sql = 'select * from bt_stu limit 5;'
res = op_mysql(sql = sql)
response = json.dumps(res,ensure_ascii=False)
return response #return只能返回字符串
# 瀏覽器輸入用戶id、姓名,插入數(shù)據(jù)到數(shù)據(jù)庫stu表,
@server.route('/add_user',methods=['post']) #代碼支持什么類型的接口
def add_user():
user_id = flask.request.values.get('id')
user_name = flask.request.values.get('u')
sql = "insert into stu values ('%s','%s');"%(user_id,user_name)
if user_id and user_name:
res = op_mysql(sql = sql)
response = {"code":"308","message":"success"}
else:
response = {"code":"503","message":"參數(shù)不能為空"}
return json.dumps(response,ensure_ascii=False) #return只能返回字符串
7、tools工具類文件,相關(guān)的函數(shù)在這里面
import pymysql
from conf import setting
# 1、操作mysql
def op_mysql(sql):
conn = pymysql.connect(host=setting.MYSQL_HOST,user= setting.USER,
password=setting.PASSWORD,
port=setting.PORT,
charset = 'utf8',
db = setting.DB)
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
#判斷是否需要commit,根據(jù)select update delete insert的類型
cur.execute(sql)
sql_start = sql[:6].upper()# select不區(qū)分大小寫,取前6位轉(zhuǎn)換成大寫
if sql_start == 'SELECT':
res = cur.fetchall()
else:
conn.commit()
res = 'ok'
cur.close()
conn.close()
return res
轉(zhuǎn)載于:https://www.cnblogs.com/dandan33/p/10920345.html
總結(jié)
- 上一篇: 灯光问题
- 下一篇: 设置redis能远程访问