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
 

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

时间: 2024-07-29 04:12:15

Python+Flask搭建mock api server的相关文章

用python+flask自己制作api(教程附源码)

1.背景 ok,可能很多朋友跟我一样经常使用各种api,比如facebook的,github的,甚至是微信的api.所以很多人也想制作自己的api.网上关于这方面的教程实在是很少,今天我就顺手做了一个,把方法公布下. 首先秀一下效果: 用"curl"方法,返回一个json,大家也可以试下: curl -i http://ospafzone.duapp.com/ospaf 2.代码 首先说下环境吧,就是python+flask,特别好配置. from flask import Flask

python flask api

使用python的Flask实现一个RESTful API服务器端[翻译] 用python+flask自己制作api(教程附源码)

Error generating Swagger server (Python Flask) from Swagger editor

1down votefavorite http://stackoverflow.com/questions/36416679/error-generating-swagger-server-python-flask-from-swagger-editor I've used the Swagger Editor to manually generate my Swagger spec file and generated the files for a Python Flask server.

搭建Mock Server

1.为什么要搭建mock-server? 为了更好的分工合作,让前端能在不依赖后端环境的情况下进行开发,其中一种手段就是为前端开发者提供一个 web 容器,这个本地环境就是 mock-server. 目前很多前端 mock 数据的方案的基本流程都是使用 node.js 来模拟 http 请求,配置 router 返回 mock 数据. 一个比较好的 mock-server 该有的能力: 1.与线上环境一致的接口地址,每次构建前端代码时不需要修改调用接口的代码 2.所改即所得,具有热更新的能力,每

拿nodejs快速搭建简单Oauth认证和restful API server攻略

拿nodejs快速搭建简单Oauth认证和restful API server攻略:http://blog.csdn.net/zhaoweitco/article/details/21708955 最近一直在鼓捣这个东西,拿出来分享下一下经验吧,其实很简单,一点也不难. 首先需求是这样,给自己的网站要增加API服务,API分为两种,公共的和私有授权的,授权的使用Oauth方法认证身份,API格式均为JOSN和JSONP. 嗯,别的语言我也没怎么学过,首先是找合适的框架进行实现吧.本身网站使用的e

Python Flask环境搭建

Python Flask环境搭建 尽管之前多次部署过Python的Flask环境,由于没有做文档输出工作,导致后面部署时每次都得重新去填之前填过的坑,为了方便自己,也为了工作效率的提升,于是自己花了一点时间重新实验并且整理出来部署的文档,包括一键部署Flask环境脚本install.sh,和Flask环境需要的扩展的安装包packages.txt! 全部贴在代码区域! 下面是一键安装脚本install.sh #! /usr/bin/bash #version v1.0 # by andy.zhu

[Python][flask][flask-login]关于flask-login中各种API使用实例

本篇博文跟上一篇[Python][flask][flask-wtf]关于flask-wtf中API使用实例教程有莫大的关系. 简介:Flask-Login 为 Flask 提供了用户会话管理.它处理了日常的登入,登出并且长时间记住用户的会话. 直白的讲,flask-login包为用户管理了涉及到用户登录相关的缓存(Session)管理. Posted by Alima | cnblogs. 一.安装(Install) PC环境:Windows 7,Python 3.5.2. PS:此次配置环境阶

使用python+flask让你自己api(教程源代码)

1.背景 ok,这可能是很多朋友和我一样经常使用的各种api,例facebook的.github的.甚至微信api.因此,很多人都想使自己的api.在线教程在这方面它是非常小的,今天,我做了一个平稳,发布时间下方法. 首先秀一下效果: 用"curl"方法,返回一个json,大家也能够试下: curl -i http://ospafzone.duapp.com/ospaf watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYnVwdGdzaGVuZ

改造vue-cli,使用mockjs搭建mock server

关于 最近准备开发一款web应用,考虑到可能会有前后端并行开发的场景,所以决定使用mockjs做mock server. 浏览官网文档时发现没有跑在webpack上的例子,索性自己找方法解决. 什么是mockjs?他的使用场景是什么? 当前端工程师需要独立于后端并行开发时,后端接口还没有完成,那么前端怎么获取数据? 这时可以考虑前端搭建web server自己模拟假数据,mockjs用来生成随机数据,拦截 Ajax 请求. 下面引用mockjs官网的图片: 正文:如何改造vue-cli,将moc