码迷,mamicode.com
首页 > 编程语言 > 详细

Python+Flask搭建mock api server

时间:2019-04-28 12:59:05      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:desc   准备   python   通过   ack   接口调用   简单   call   mes   

Python+Flask搭建mock api server

前言:

近期由于工作需要,需要一个Mock Server调用接口直接返回API结果;

假如可以先通过接口文档的定义,自己模拟出服务器返回结果,直接对接口基本功能进行联调测试并编写自动化测试脚本,等服务器上线之后,切换server地址,直接可以简化调试时间,缩短项目测试周期;

准备工作

Python安装

Flask安装:pip install flask

Get 请求

简单的python代码

from flask import abort, jsonify, Flask, request, Response

app = Flask(__name__)

tasks = {
    "data": {
        "loginName": "admin",
        "roles": 1,
        "permissions": 1,
        "active": 1
    },
    "stateCode": {
        "code": 0,
        "desc": "成功"
    },
    "statusText": "成功",
    "timestamp": "1500531770453",
    "success": 1
}

@app.route("/task", methods=[GET])
def get_all_task():
    return jsonify(tasks)
    
if __name__ == "__main__":
    if __name__ == "__main__":
    app.run(
        host = "127.0.0.1",
        port = 8989,
        debug = True
        )

 

启动服务:

python test.py (test.py为上述代码保存文件名)

接口调用测试:

http://127.0.0.1:8989/task

Post请求

Post方式由于需要传递参数,并且有多种不同类型,比如json比如表单等,本文就不细说只是一篇入门;

from flask import abort, jsonify, Flask, request, Response

app = Flask(__name__)

tasks = {
    "data": {
        "loginName": "admin",
        "roles": 1,
        "permissions": 1,
        "active": 1
    },
    "stateCode": {
        "code": 0,
        "desc": "成功"
    },
    "statusText": "成功",
    "timestamp": "1500531770453",
    "success": 1
}

@app.route(/v1/testMock, methods=[GET, POST])
def app_call_back():
    if request.method == GET:
        return jsonify(tasks)
    else:
        test_data = request.form[params]
        return jsonify(test_data)

if __name__ == "__main__":
    app.run(
        host = "127.0.0.1",
        port = 8989,
        debug = True
        )

接口调用测试:

http://127.0.0.1:8989/v1/testMock?params=test_mock

 

Flask让jsonify返回的json串支持中文显示:

默认Flask调用jsonify返回结果是utf8,如果需要返回支持中文显示,只需要在app = Flask(name)下增加一行:

app.config[‘JSON_AS_ASCII‘] = False

 

 
 

Python+Flask搭建mock api server

标签:desc   准备   python   通过   ack   接口调用   简单   call   mes   

原文地址:https://www.cnblogs.com/ai594ai/p/10783117.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!