我们在与第三方进行联调的时候,经常找不到人,如果一直等待第三方响应,那将是很难受的!所以还不如自己写,想怎么造数据就怎么造……
下面简单介绍一下如何使用Python编写挡板接口程序mock service。
话不多说,直接上代码。里面注释也写的很清楚了,包括get和post请求时,如何获取请求的参数,以及如何转换响应的结果等等,拿来改改即可使用!
运行后,默认端口是5000
# 导入对应的包
import flask
from flask import request
import json
'''
flask:一个web框架,通过flask提供的装饰器@server.route()将普通函数转为服务
'''
# 创建一个服务。 将当前文件注册为服务
server = flask.Flask(__name__)
# 在route()方法中定义服务路径、请求方法
@server.route('/login_get', methods=['get'])
def login_get():
# get请求时,获取参数的方法
username = request.values.get('u') # 获取参数的值
password = request.values.get('p')
if username and password:
if username == 'zzz' and password == '1234':
result = {'code': 200, 'message': '请求成功!'} # 类型为字典dict
# 将字典转化为json格式。注意是json.dumps,不是json.dump
return json.dumps(result, ensure_ascii=False)
else:
result = {'code': 400, 'message': '请求失败!'}
return json.dumps(result, ensure_ascii=False)
else:
return '参数不能为空!'
@server.route('/login_post', methods=['post'])
def login_post():
# post请求时,获取参数的方法
username = flask.request.json.get('u') # 获取参数的值
password =flask.request.json.get('p')
# 多层级json时,获取参数的方法
key = flask.request.json.get('accesskey1').get('accesskey3').get('accesskey4')
if username and password:
if username == 'zzz' and password == '1234':
result = {'code': 200, 'message': '请求成功!'}
return json.dumps(result, ensure_ascii=False)
else:
result = {'code': 400, 'message': '请求失败!'}
return json.dumps(result, ensure_ascii=False)
else:
return '参数不能为空!'
if __name__ == '__main__':
server.run() # 运行服务
我们写完挡板程序后,只需将第三方接口替换为自己服务的接口即可。如果需要将自己的服务发布到公网,可以下个内网穿透工具,像natapp,简单配置即可