使用flask进行mock接口
快速创建接口
在测试日常过程中,我们经常会遇到因为环境问题,或者是因为上下游,前后端开发进度不一,提测时间不一等情况。这时候我们可以通过mock的方式去完成一些操作。今天给大家分享一个通过flask去mock接口,之后在通过charles去进行map remote。
from flask import Flask from flask import request import json #实例化一个web服务对象 app=Flask(__name__) @app.route('/mock/ytjaisjh',methods=['post']) def data_mock(): #获取客户端输入信息 #获取json格式 res=json.loads(request.get_data()) #提取数据 lover=res['lover'] level=res['level'] data = { 'code': '0', 'msg': 'ok', 'lover': 'baobao', 'level': 'zuiai', 'describtion':'adc' } #把客户端的数据修改成我们的数据 data['lover'] = lover data['lever'] = level if lover == 'baobao': data['describtion'] = 'love very much' elif lover == 'choubao': data['describtion'] = 'qi fu fu' return data if __name__ == '__main__': app.run('127.0.0.1','1314')
1 2 3 4 | app.run(host= '0.0.0.0' ,port=5566,debug=True) #使用调试模式启动项目 #0.0.0.0表示可以用127.0.0.1 或者localhost 或者 本机ip三种方式访问接口 #0.0.0.0不能作为访问地址 |
获取请求传入的参数 模块 request:method,获取客户端提交请求的方法;header,获取请求头;args,获取get请求提交的数据 :request.args.get('account');form,获取post请求提交的数据 : request.form.get('account'),获取json格式传参是用request.get_json()
cookie:模块:make_response
- 使用步骤:
- 创建response对象res=make_response
- 设置cookie:res.set_cookie
- 获取cookie:request.cookie.get(key)
- 删除cookie :request.delete_cookie(key)
跨域问题:pip install flask_cors
快速开发一个web
1 2 3 4 5 6 7 8 9 10 | from flask import Flask,render_template app = Flask(__name__) @app .route( "/1" ) def index(): #Flask默认回去项目目录下的templates文件中寻找 return render_template( "index.html" ) if __name__ = = '__main__' : app.run() |
创建一个templates文件夹,在文件下创建一个html文件
1 2 3 4 5 6 7 8 9 10 11 | <! DOCTYPE html> < html lang="en"> < head > < meta charset="UTF-8"> < title >Title</ title > < h1 >hello world</ h1 > </ head > < body > </ body > </ html > |
运行起来就可以了
开发一个简单的登录接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | from flask import Flask,render_template,request app = Flask(__name__) @app .route( "/register" ) def register(): #Flask默认回去项目目录下的templates文件中寻找 return render_template( "register.html" ) @app .route( "/login" ,methods = [ 'Post' ]) def login(): print (request.form) return "注册成功" if __name__ = = '__main__' : app.run() |
register.html
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <! DOCTYPE html> < html lang="en"> < head > < meta charset="UTF-8"> < title >Title</ title > < h1 >用户注册登录</ h1 > < form method="post" action="/login"> < div > 用户名:< input type="text" name="username"/> </ div > < div > 密码:< input type="password" name="password"/> </ div > < div > < input type="submit" value="提交"> </ div > </ form > </ head > < body > </ body > </ html > |
作者: yetangjian
出处: https://www.cnblogs.com/yetangjian/p/15676966.html
关于作者: yetangjian
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题, 可邮件(yetangjian@outlook.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY