pythonflaskmock数据_【Python】学习笔记5-利用flask来mock接口

# 1、mock接口

目的:

mock|muk|接口,就是模拟接口

1、暂时代替第三方接口测试,自己模拟一个接口

2、辅助测试,用来代替没有开发好的接口

3、查看数据

# import flask #python的轻量级的开发框架

# # 接口,后台服务的开发

# # 在浏览器运行http://127.0.0.1:8080/get_user即可,或者其他访问接口的方式

# server = flask.Flask(__name__) #__name__当前文件名,把咱们这个app python当做一个server

# @server.route('/get_user',methods=['get','post']) #将下面函数变成一个接口

# def get_all_user():

# return 'cm的接口' #return只能返回字符串

# #启动服务,加debug自动帮忙重启

# server.run(port = 8080,debug = True)

# 2、调用自己的模块,连接数据库,浏览器请求接口

# import tools #使用时,需要用tools.op_mysql()

from lib.tools import op_mysql #使用时,直接用op_mysql()

# 以上两种方式都可以

3、写接口前先要形成标准的目录结构,分解一下各个目录的文件

4、start.py运行的启动程序,在这里启动 服务

1 #这是程序的入口文件,将启动服务的命令放里面

2

3 #增加根目录为环境变量,方便底层目录执行时目录错误

4 importsys,os5 BASE_PATH = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) #取到api目录,根目录

6 sys.path.insert(0,BASE_PATH)7

8 #加环境变量才能导入,否则导入会异常

9 from lib.main importserver10 server.run(port = 8080,host = '0.0.0.0',debug = True) #默认端口号是5000

11 #host = '0.0.0.0' 代表局域网内别人都可以通ip访问自己的接口

5、setting 设置常规变量等

1 MYSQL_HOST = 'X.X.X.X'

2 PASSWORD = '123456'

3 PORT = 3306

4 USER = 'jxz'

5 DB = 'jxz'

6、main.py......自己的主程序

1 #import tools #使用时,需要用tools.op_mysql()

2 from lib.tools import op_mysql #使用时,直接用op_mysql()

3 #以上两种方式都可以

4

5 import flask,json #python的轻量级的开发框架

6 #接口,后台服务的开发

7 #在浏览器运行http://127.0.0.1:8080/get_user即可,或者其他访问接口的方式

8 server = flask.Flask(__name__) #__name__当前文件名,把咱们这个app python当做一个server

9

10

11 #浏览器输出bt_stu表中前5条的数据

12 @server.route('/get_user',methods=['get','post']) #将下面函数变成一个接口

13 defget_all_user():14 sql = 'select * from bt_stu limit 5;'

15 res = op_mysql(sql =sql)16 response = json.dumps(res,ensure_ascii=False)17 return response #return只能返回字符串

18

19

20 #浏览器输入用户id、姓名,插入数据到数据库stu表,

21 @server.route('/add_user',methods=['post']) #代码支持什么类型的接口

22 defadd_user():23 user_id = flask.request.values.get('id')24 user_name = flask.request.values.get('u')25 sql = "insert into stu values ('%s','%s');"%(user_id,user_name)26 if user_id anduser_name:27 res = op_mysql(sql =sql)28 response = {"code":"308","message":"success"}29 else:30 response = {"code":"503","message":"参数不能为空"}31 return json.dumps(response,ensure_ascii=False) #return只能返回字符串

7、tools工具类文件,相关的函数在这里面

1 importpymysql2 from conf importsetting3

4 #1、操作mysql

5 defop_mysql(sql):6 conn = pymysql.connect(host=setting.MYSQL_HOST,user=setting.USER,7 password=setting.PASSWORD,8 port=setting.PORT,9 charset = 'utf8',10 db =setting.DB)11 cur = conn.cursor(cursor=pymysql.cursors.DictCursor)12 #判断是否需要commit,根据select update delete insert的类型

13 cur.execute(sql)14 sql_start = sql[:6].upper()#select不区分大小写,取前6位转换成大写

15 if sql_start == 'SELECT':16 res =cur.fetchall()17 else:18 conn.commit()19 res = 'ok'

20 cur.close()21 conn.close()22 return res

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值