python脚本之mock接口

生成get post常见参数类型测试mock接口

# coding=UTF-8
from flask import Flask, jsonify, request
from flask import Response
import json,datetime
import demjson
app = Flask(__name__)


@app.route('/')
def hello_world():
    return 'Hello World!'


@app.route('/memberlist')
def member_list():

    ret = {'retcode': '000000', 'members': [{'name': 'zhangsan', 'age': 18}, {'name': 'lisi', 'age': 20}]}
    # time.sleep(1)
    return jsonify(ret)

##Content-type: application/x-www-form-urlencoded
@app.route('/memberinfo', methods=['GET','POST'])
def member_get():
    print("method=========", request.method)
    if request.method == 'GET':
        print(1)
        print(request.headers)
        print(request.args)
        print(2)
        if (request.args.get("name") == 'zhangsan1'):
            ret = {'retcode': '000000', 'name': 'zhangsan', 'age': 18}
        elif (request.args.get("name") == 'lisi'):
            ret = {'retcode': '000000', '姓名': '李四', '年龄': 20}
        elif (request.args.get("name") == 'wangwu'):
            ret = {'retcode': '000000', '姓名': '王五', '年龄': 22}
        else:
            ret = {'retcode': '100000', 'msg': 'can not find member : ' + request.args.get("name")}
        return jsonify(ret)
    else:
        try:
            print(1)
            print(request.headers)
            print(request.data)
            print(request.form)
            print(2)
            username = request.form.get('name')
            print(username)
            if (username == 'zhangsan'):
                ret = {'retcode': '000000', 'name': 'zhangsan', 'age': 18}
            elif (username == 'lisi'):
                ret = {'retcode': '000000', 'name': 'lisi', 'age': 20}
            elif (username == 'wangwu'):
                ret = {'retcode': '000000', '姓名': '王五', '年龄': 22}
            else:
                ret = {'retcode': '100000', 'msg': 'can not find member : ' + request.args.get("name")}
            return jsonify(ret)
        except Exception as e:
            import traceback
            traceback.print_exc()
            return 'error'


##Content-type: application/json
@app.route('/memberinfo_json', methods=['POST'])
def memberinfo_json():
    try:
        print(1)
        print(request.headers)
        print(request.data)
        print(2)
        username = demjson.decode(request.data.decode(encoding='utf-8')).get('name')
        if (username == 'zhangsan'):
            ret = {'retcode': '000000', 'name': 'zhangsan', 'age': 18}
        elif (username == 'lisi'):
            ret = {'retcode': '000000', 'name': 'lisi', 'age': 20}
        elif (username == 'wangwu'):
            ret = {'retcode': '000000', '姓名': '王五', '年龄': 22}
        else:
            ret = {'retcode': '100000', 'msg': 'can not find member : ' + request.args.get("name")}
        return jsonify(ret)
    except Exception as e:
        return 'error'



@app.route('/memberinfo_param', methods=['POST'])
def memberinfo_param():
    try:
        print(1)
        print(request.headers)
        print(request.args)
        print(2)
        username = request.args.get("name")
        if (username == 'zhangsan'):
            ret = {'retcode': '000000', 'name': 'zhangsan', 'age': 18}
        elif (username == 'lisi'):
            ret = {'retcode': '000000', 'name': 'lisi', 'age': 20}
        elif (username == 'wangwu'):
            ret = {'retcode': '000000', '姓名': '王五', '年龄': 22}
        else:
            ret = {'retcode': '100000', 'msg': 'can not find member : ' + request.args.get("name")}
        return jsonify(ret)
    except Exception as e:
        return 'error'



##Content-type: multipart/form-data
@app.route('/upload', methods=['POST', 'GET'])
def upload():
    if request.method == 'POST':
        print(1)
        f = request.files['file']
        return f.filename


if __name__ == '__main__':
    app.run(host="0.0.0.0")

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值