当前位置: 首页 > news >正文

flask+pyinstaller实现mock接口,并打包到exe运行使用postman验证

flask代码

from flask import Flask, request, jsonifyapp = Flask(__name__)@app.route("/login", methods=['POST'])
def login():username = request.json.get("username").strip()  # 用户名password = request.json.get("password").strip()  # 密码if username and password:if len(username) <= 2:return jsonify({"code": 999, "msg": "用户名不能少于2位"})elif len(password) <= 6:return jsonify({"code": 999, "msg": "密码不能少于6位"})else:return jsonify({"code": 200, "msg": "请求成功", 'token': 'ey66666', 'user_balance': 2000})else:return jsonify({"code": 999, "msg": "用户名/密码不能为空,请检查"})@app.route("/goods_info", methods=['GET'])
def goods_info():token = request.headers.get("token")if token != 'ey66666':return jsonify({"code": 999, "msg": "请登录后重试"})return jsonify({'goods_id': 1, 'goods_inventory': 99, 'goods_price': 888.9, 'goods_notes': '这是一个虚假的货物'})@app.route("/purchase", methods=['POST'])
def purchase():token = request.headers.get("token")if token != 'ey66666':return jsonify({"code": 999, "msg": "请登录后重试"})purchase_quantity = request.json.get("purchase_quantity") # 购买数量goods_id = request.json.get("goods_id") # 商品iduser_balance = request.json.get("user_balance") # 用户余额print(purchase_quantity,goods_id,user_balance)if goods_id == 1:if 99 < purchase_quantity:return jsonify({"code": 999, "msg": "商品库存不足"})elif 888.9 * purchase_quantity > user_balance:return jsonify({"code": 999, "msg": "余额不足"})return jsonify({"code": 200, "msg": "购买成功", 'goods_id': goods_id})else:return jsonify({"code": 999, "msg": "商品不存在"})
if __name__ == '__main__':app.run(host='0.0.0.0', port=7979 , debug=True)

打包

命令执行目录要和py文件在一个目录里面
在这里插入图片描述

这里是打包运行exe程序时带cmd窗口,有修改ico图标和重新命名

pyinstaller --onefile --icon=D:\log_v5\oco.ico --name=mock app.py

打包后会生成一个mock.exe
在这里插入图片描述
在这里插入图片描述

运行mock.exe

这2个地址可以访问的地址,如果处于同一个局域网下面,别人的电脑可以用http://192.168.3.100:7979来访问
下面的是一些接口参数说明
在这里插入图片描述

使用postman测试

在这里插入图片描述

http://www.lryc.cn/news/296092.html

相关文章:

  • 【Spring Boot】第一篇 创建简单的Spring Boot项目
  • SSL协议是什么?关于SSL和TLS的常见问题解答
  • 第十五个知识:JQuery
  • 用Matlab 2015a svmtrain函数训练的SVM model在2021b无法使用的解决方法
  • umount:/home/tuners/windows files:目标忙。
  • FPGA_vga显示
  • sklearn模型指标和特征贡献度查看
  • 2024.2.6日总结(小程序开发3)
  • 相机图像质量研究(10)常见问题总结:光学结构对成像的影响--光圈
  • TCP和UDP相关问题(重点)(3)——3.HTTP基于TCP还是UDP?
  • 基于modbus rtu协议操作PLC的EPICS示例
  • 网站被攻击有什么办法呢?
  • VoIP之主备注册服务器机制
  • 【数据分享】1929-2023年全球站点的逐年平均降水量(Shp\Excel\免费获取)
  • uniapp /微信小程序 使用map组件实现手绘地图方案
  • react+antd+CheckableTag实现Tag标签单选或多选功能
  • UUID和雪花(Snowflake)算法该如何选择?
  • Jetpack Compose之进度条介绍(ProgressIndicator)
  • 【Qt基本功修炼】Qt线程的两种运行模式
  • 三、设计模式相关理论总结
  • 鸿蒙 WiFi 连接 流程
  • golang 创建unix socket http服务端
  • annaconda如何切换当前python环境
  • gtkmm 与 Cambalache 与 Gtk::Builder (新手向)_
  • uniapp小程序端使用计算属性动态绑定style样式踩坑
  • 计算机网络概念、组成、功能和分类
  • MyBatisPlus基础操作之增删改查
  • 视频处理学习笔记1:YUYV422、NV12和h264
  • CTFshow web(命令执行29-36)
  • PyTorch深度学习实战(23)——从零开始实现SSD目标检测