日常开发/测试过程中,需要对相关服务添加挡板--Mock

简单介绍一下使用python的Flask插件,对相关的服务进行Mock

# coding:utf-8
import os
from flask import Flask, render_template, request app = Flask(__name__, static_folder=".", template_folder="./templates") @app.route('/delete')
def index():
return render_template('index.html') @app.route('/delete/user', methods=['GET', 'POST'])
def delete(): get_data = request.values.get('c_id')
get_id = request.values.get('id')
if len(get_data) == 0 or len(get_id) == 0:
return render_template('index.html', data="Please check your custom id or id.") p = os.popen("sh /home/xx.sh " +
get_data + " " + get_id).read() if len(p) == 0:
return render_template('index.html', data="Execute False. custom_id=" + get_data + " id=" + get_id)
else:
return render_template('index.html', data=str(p)+" custom_id=" + get_data + " id=" + get_id) if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=80)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>删除用户</title>
</head>
<body>
<br></br>
<br></br><br></br>
<div style='color:blue;text-align:center'>
<form method="post" action="/delete/user">
<input maxlength="12" type="text" name="c_id" id="c_id" placeholder="input custom id" value=""style="font-size:1.4em;height:2.7em;border-radius:10px;border:1px solid #c8cccf;color:#986655;">
<input maxlength="18" type="text" name="id" id="id" placeholder="input id" value="" style="font-size:1.4em;height:2.7em;border-radius:10px;border:1px solid #c8cccf;color:#986655;">
<input type="submit" value=" Delete " style="font-size:1.4em;height:2.7em;border-radius:10px;border:1px solid #c8cccf;color:#986655;"/>
</form>
<br><br><br>
{% if data %}
<span>{{data}}</span>
{% endif %}
</div> </body>
</html>

以上的代码,只是通过页面的元素来获取对应的值,然后通过值作为参数,进行执行

再介绍一个使用json发送接口的使用方式。具体需要修改的地方,要根据实际情况来进行。

# coding:utf-8
import random from flask import Flask, request, jsonify, abort app = Flask(__name__) # 实例化一个Flask对象 @app.route("/api/user/reg/", methods=["POST"])
def reg():
if not request.json or 'name' not in request.json or 'password' not in request.json:
code = {"code": "", "msg": "失败", "data": {}}
return jsonify(code)
# abort(404)
res = [
{
"code": "",
"msg": "成功",
"data": {
"name": "李六",
"password": "e10adc3949ba59abbe56e057f20f883e"
}
},
{
"code": "",
"msg": "失败,用户已存在",
"data": {
"name": "李六",
"password": "e10adc3949ba59abbe56e057f20f883e"
}
},
{
"code": "",
"msg": "失败,添加用户失败",
"data": {
"name": "李六",
"password": "e10adc3949ba59abbe56e057f20f883e"
}
}
] return jsonify(random.choice(res)) if __name__ == '__main__':
app.run(debug=True, host='0.0.0.0', port=5000)

---------我是底线---------

python使用Flask作为MockServer的方法的更多相关文章

  1. 在pycharm_2018.2版本中开启Flask的debug的方法 (不要用命令:python **.py启动)

    断点后,先ctl+c关闭控制台程序,再点击debuger调试 问题描述:在pycharm_2018.2版本中,我明确开启了debug,代码如下所示: from flask import Flask a ...

  2. 使用python的Flask实现一个RESTful API服务器端[翻译]

    最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文将会使用python的Flask框架轻松实现一个RESTful的服务 ...

  3. 使用python的Flask实现一个RESTful API服务器端

    使用python的Flask实现一个RESTful API服务器端 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了. 本文 ...

  4. python之Flask实现登录功能

    网站少不了要和数据库打交道,归根到底都是一些增删改查操作,这里做一个简单的用户登录功能来学习一下Flask如何操作MySQL. 用到的一些知识点:Flask-SQLAlchemy.Flask-Logi ...

  5. 转:使用python的Flask实现一个RESTful API服务器端

    提示:可以学习一下flask框架中对于密码进行校验的部分.封装了太多操作. 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了 ...

  6. python基础===flask使用整理(转)

    flask 使用的一些整理 资源 Flask 文档|英文| expore flask| 快速教材| flask-admin| Flask-DebugToolbar| Flask-Login| Flas ...

  7. Designing a RESTful API with Python and Flask 201

    rest服务器的搭建 - CSDN博客 http://blog.csdn.net/zhanghaotian2011/article/details/8760794 REST的架构设计 REST(Rep ...

  8. Python 和 Flask实现RESTful services

    使用Flask建立web services超级简单. 当然,也有很多Flask extensions可以帮助建立RESTful services,但是这个例实在太简单了,不需要使用任何扩展. 这个we ...

  9. Python Web Flask源码解读(二)——路由原理

    关于我 一个有思想的程序猿,终身学习实践者,目前在一个创业团队任team lead,技术栈涉及Android.Python.Java和Go,这个也是我们团队的主要技术栈. Github:https:/ ...

随机推荐

  1. leetcode题目2.两数相加(中等)

    题目描述: 给出两个 非空 的链表用来表示两个非负的整数.其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字. 如果,我们将这两个数相加起来,则会返回一个新的链表来 ...

  2. UEFI和GPT

    好就没用linux了,这几天在win8笔记本上用虚拟机装了下,也准备装到硬盘上和win8双系统使用,发现一些概念已经跟不上时代了. 一个是在虚拟机中装的时候,分配了虚拟硬盘分区时,提示选择分区表类型, ...

  3. 邻居子系统 之 邻居项查找neigh_lookup、___neigh_lookup_noref

    概述 邻居项查找是通过neigh_lookup相关函数来进行的: ___neigh_lookup_noref,该函数根据输出设备和主键值(IPv4为下一跳ip地址)在邻居项hash表中查找,找到则返回 ...

  4. oc中枚举映射字符串技巧

    后台返枚举数据给app,app需要对不同枚举转换成字符串显示. 一般想到方法用 switch 根据不同枚举变量返回不同字符串,结果就是判断代码写得很长,不优雅.更简便方式有如下: typedef NS ...

  5. 从浏览器地址栏输入url到显示页面的步骤

      在浏览器地址栏输入URL 浏览器查看缓存,如果请求资源在缓存中并且新鲜,跳转到转码步骤 HTTP1.0提供Expires,值为一个绝对时间表示缓存新鲜日期 HTTP1.1增加了Cache-Cont ...

  6. 查重复出现的字段 SQL

    select * from a where (select count(b.abc) from b where b.abc=a.abc)>1 一般treeview datagridview 都要 ...

  7. vue.js中$watch的用法示例

    Vue.js 提供了一个方法 watch,它用于观察Vue实例上的数据变动.对应一个对象,键是观察表达式,值是对应回调.值也可以是方法名,或者是对象,包含选项. 在实例化时为每个键调用 $watch( ...

  8. TCP/IP及内核参数优化调优(转)

    Linux下TCP/IP及内核参数优化有多种方式,参数配置得当可以大大提高系统的性能,也可以根据特定场景进行专门的优化,如TIME_WAIT过高,DDOS攻击等等.如下配置是写在sysctl.conf ...

  9. 一步一步搭建:spark之Standalone模式+zookeeper之HA机制

    理论参考:http://www.cnblogs.com/hseagle/p/3673147.html 基于3台主机搭建:以下仅是操作步骤,原理网上自查 :1. 增加ip和hostname的对应关系,跨 ...

  10. Java 多线程爬虫及分布式爬虫架构

    这是 Java 爬虫系列博文的第五篇,在上一篇 Java 爬虫服务器被屏蔽,不要慌,咱们换一台服务器 中,我们简单的聊反爬虫策略和反反爬虫方法,主要针对的是 IP 被封及其对应办法.前面几篇文章我们把 ...