ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

基于python Flask搭建mockServer服务

2022-04-26 23:35:31  阅读:179  来源: 互联网

标签:__ 请求 get python jsonify Flask flask mockServer data


需要环境:python 、pycharm(其他编译器也是可以的)、flask。

需要了解概念:

一、MockServer是什么?

答:为实现mock概念而搭建的一个服务,Mock Server 在被测系统与外部系统之间搭建。

      MockServer不是一个真实的后端系统, 你只需要让他满足你的接口测试需求即可。

使用场景:

 比如:我们自己内部接口需要使用微信,支付宝的支付功能,就需要验证和打钱才能返回固定的成功返回信息,成本太高,我们就可以用MockServer来模拟返回,绕过验证。

 

二、Flask基本使用

2.1  flask 安装

  pip install flask

   验证 pip show flask

 

 

2.2 启动一个flask服务(本地后端服务)

 

 

 结果:

 

 

 点击 域名就会跳转到响应网页,出现 return 的返回值

 

 

 

2.3  请求flask 搭建的服务;代码及结果请求成功获取文本

 

 

 

2.4  动态服务--打开链接后需要加上随机参数

 

 

 

2.5  非动态服务

 

 

 

 

2.6 指定允许的请求方法

指定get请求方法如下:

 

 

 

如果运行post请求,代码及返回如下:

 

 

 

修改为对应 get方法进行请求,会返回200:(与指定get方法对应上)

 

 

 

还可以修改指定方法,去添加post请求:

@app.route('/zz/', methods=['get','post'])
添加后,不管你是get请求也好,post请求也好都是可以请求成功的。

3、基于flask框架实现Mock Server
3.1例子
假设有一个登录接口,需要输入用户名和密码并获得返回结果。地址后缀名为:/api/login
首先:基于flask搭建 flaskServer

代码如下:mockServer.py 文件夹,下面直接帖代码了

# -*- coding: utf-8 -*-
from flask import Flask, request, jsonify

# 创建1个实例
app = Flask(__name__)
app.config['JSON_AS_ASCII'] = False


# 指定路由和请求方法
@app.route('/api/login', methods=['POST'])
def login():
""" 登录接口"""
# 调试信息,打印请求方法
print(request.method)
# 获取请求数据,将数据变成字典
data = request.get_json()
# 调试信息, 打印请求的数据
print(data)
print(type(data))

# 定义用户名和密码变量,从data中取值
username = data['username']
pwd = data['password']
"""
1)参数为空
2)用户名密码正确
3)用户密码错误
"""

if username == '' or pwd == '':
"""
Flask 框架里,可以用jsonify 返回 json数据
使用 jsonify 时,返回的 http response 的 Content-Type 是application/json
这样做是符合 HTTP 协议的规定的,这就是使用 jsonify 的原因之一
"""
return jsonify({
"code": "001",
"msg": "用户名和密码不能为空"
})
elif username == 'zz' and pwd == '123456':
return jsonify(
{
"adress": {
"city": "北京"
},
"httpstatus": 200,
"info": {
"age": 22,
"name": "zhx"
},
"mag": "success",
"token": " 1HJHSJSNKSKSKSNSKHSKSDUIU"
}
)
else:
return jsonify({
"code": "001",
"msg": "username or password is wrong"
})


if __name__ == '__main__':
# debug = True 开启调试模式
app.run(host='127.0.0.1', port="5006", debug=True)

 

执行上面代码后,在执行下面代码即可;(用户名和密码为空)

 

 

当 用户名和密码正确时:

 

 

 

当 密码或者账号错误时:

 

 

 

 

 

总结: 完美收官,有些不知道什么场景使用就没有写上去,后期学过之后会继续更新。哈哈,大家加油撒!!!

 

标签:__,请求,get,python,jsonify,Flask,flask,mockServer,data
来源: https://www.cnblogs.com/zhx-95-/p/16197164.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有