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')
  • 相关阅读:
    【YbtOJ#20064】预算缩减
    【GMOJ6805】模拟speike
    【洛谷P5675】取石子游戏
    【YbtOJ#20061】波动序列
    【洛谷P4302】字符串折叠
    flash 上传文件
    HTTP 客户端发送的 头 格式
    FLEX 在本地使用 只访问本地文件
    as3 重写
    iis7 上传限制问题
  • 原文地址:https://www.cnblogs.com/carlvine/p/9116928.html
Copyright © 2011-2022 走看看