0
点赞
收藏
分享

微信扫一扫

一个简单的mock server

桑二小姐 2022-02-17 阅读 43


在前后端分离的项目中,

前端无需等后端接口提供了才调试,

后端无需等第三方接口提供了才调试,

基于“契约”,可以通过mock server实现调试,

下面是一个简单的mock server,通过python的Flask框架实现,

 mock_test.py

from flask import Flask, jsonify, g
import copy
app = Flask(__name__)

@app.before_request
def set_up_data():
g.data = [
{'id': 1, 'uname': 'tom'},
{'id': 2, 'uname': 'jcck'},
{'id': 3, 'uname': 'lucy'}
]

g.user_does_not_exist = {"msg": "user does not exist"}

@app.route('/api/user')
def get_all_users():
return jsonify(g.data)

@app.route('/api/user/<int:user_id>')
def get_user(user_id):
if user_id > 0 and user_id <= len(g.data):
return jsonify(g.data[user_id-1])
else:
return jsonify(g.user_does_not_exist)




# set FLASK_APP=mock_test.py

# flask run

一个简单的mock server_json


获取所有用户:

​​http://localhost:5000/api/user ​​

一个简单的mock server_javascript_02

获取指定用户:

​​http://localhost:5000/api/user/2​​

 一个简单的mock server_javascript_03

非法字符:

​​http://localhost:5000/api/user/a​​

一个简单的mock server_json_04


改进mock_test.py

from flask import Flask, jsonify, g
import copy
app = Flask(__name__)

@app.before_request
def set_up_data():
g.data = [
{'id': 1, 'uname': 'tom'},
{'id': 2, 'uname': 'jack'},
{'id': 3, 'uname': 'lucy'}
]

g.user_does_not_exist = {"code":"01", "msg": "user does not exist"}

@app.route('/api/user')
def get_all_users():
print(type(jsonify(g.data)))
# return jsonify(g.data)
return jsonify({"code":"00", "msg":g.data})

@app.route('/api/user/<int:user_id>')
def get_user(user_id):
if user_id > 0 and user_id <= len(g.data):
# return jsonify(g.data[user_id-1])
return jsonify({"code":"00","msg":g.data[user_id-1]})
else:
return jsonify(g.user_does_not_exist)


# set FLASK_APP=mock_test.py
# flask run



声明:如有侵权,请联系删除。

============================= 升职加薪 ==========================


举报

相关推荐

0 条评论