博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Python】学习笔记5-利用flask来mock接口
阅读量:5224 次
发布时间:2019-06-14

本文共 3025 字,大约阅读时间需要 10 分钟。

# 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 import sys,os 5 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  import server10 server.run(port = 8080,host = '0.0.0.0',debug = True) #默认端口号是500011 #host = '0.0.0.0' 代表局域网内别人都可以通ip访问自己的接口

5、setting 设置常规变量等

1 MYSQL_HOST = 'X.X.X.X'2 PASSWORD = '123456'3 PORT = 33064 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 def get_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 def add_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 and user_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 import pymysql 2 from conf import setting 3  4 # 1、操作mysql 5 def op_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

转载于:https://www.cnblogs.com/amengmeng/p/8361416.html

你可能感兴趣的文章
B2321 [BeiJing2011集训]星器 数学&&物理
查看>>
201571030319 四则运算
查看>>
RestTemplate 调用本地服务 connection refused
查看>>
.NET方向高级开发人员面试时应该事先考虑的问题
查看>>
台达PLC modbus 不支持04功能码
查看>>
发布一个JavaScript工具类库jutil,欢迎使用,欢迎补充,欢迎挑错!
查看>>
discuz 常用脚本格式化数据
查看>>
MS CRM 2011 创建基于Fetch的报表 -- 进阶版
查看>>
洛谷P2777
查看>>
PHPStorm2017设置字体与设置浏览器访问
查看>>
SQL查询总结 - wanglei
查看>>
安装cocoa pods时出现Operation not permitted - /usr/bin/xcodeproj的问题
查看>>
makefile中使用变量
查看>>
GIT笔记:将项目发布到码云
查看>>
JavaScript:学习笔记(7)——VAR、LET、CONST三种变量声明的区别
查看>>
JavaScript 鸭子模型
查看>>
SQL Server 如何查询表定义的列和索引信息
查看>>
GCD 之线程死锁
查看>>
NoSQL数据库常见分类
查看>>
一题多解 之 Bat
查看>>