zoukankan      html  css  js  c++  java
  • Flask写mock服务(带httpCode)

    import json
    from flask import Flask, jsonify, request, make_response
    
    app = Flask(__name__)
    
    app.config['JSON_AS_ASCII'] = False
    
    
    def check_float(string):
        str1 = str(string)
        if str1.count('.') > 1:
            return False
        elif str1.count('-') > 0:
            return False
        elif str1.isdigit():
            return False
        else:
            new_str = str1.split('.')
            frist_num = new_str[0]
            if frist_num.isdigit() and new_str[1].isdigit():
                return True
            else:
                return False
    
    
    @app.route('/pay', methods=['POST','GET'])
    def pay():
        user_id = request.json.get('user_id')
        price = request.json.get('price')
        if user_id and price:
            if price.isdigit():
                price = int(price)
                result = {
                    "code": 200,
                    "msg": "支付成功"
                }
                status_code = 200
            elif check_float(price):
                price = float(price)
                result = {
                    "code": 200,
                    "msg": "支付成功"
                }
                status_code = 200
            else:
                result = {
                    "code": 302,
                    "msg": "请求参数错误,请检查入参"
                }
                status_code = 302
        else:
            result = {
                "code": 302,
                "msg": "请求参数错误,请检查入参"
            }
            status_code = 302
    
        if request.headers["api"] == '-1':
            result = {
                "code": 400,
                "msg": "请求头api不能为-1"
            }
            status_code = 400
    
        response = make_response(json.dumps(result), status_code)
        response.headers["Content-Type"] = "application/json"
    
        return response
    
    
    if __name__ == '__main__':
        app.run(host='0.0.0.0', debug=True)

    提取get接口传入参数,也是用request.args.get('key')获取,例:

    还有动态路由方式获取:

    @app.route('/test/<name>', methods=['GET'])
    def test(name):
        print name
        return render_template('/test.html')
  • 相关阅读:
    Python3学习笔记22-文件读写
    Python3学习笔记21-实例属性和类属性
    Python3学习笔记20-获取对象信息
    Python3学习笔记19-继承和多态
    Python3学习笔记18-访问限制
    Python3学习笔记17-类与实例
    Python3学习笔记16-错误和异常
    Python3学习笔记15-迭代器与生成器
    Python3学习笔记14-迭代与列表生成式
    Python3学习笔记13-函数的参数
  • 原文地址:https://www.cnblogs.com/carlvine/p/9116928.html
Copyright © 2011-2022 走看看