如何在烧瓶应用程序路由中将参数传递为包含特殊字符的字符串

时间:2019-11-21 10:54:20

标签: python flask routes

我想将“ top3 / 1”作为参数传递给url。但它会返回404错误。

这是我的代码:

@APP.route('/get_agent_details_on_voucher_code/<string:code>',methods=['GET'])
def get_agent_details_on_voucher_code(code):
    result = []
    if code == 'TOP3':
        voucher_earning_list = [{'voucher_code':'TOP3/1','agent_id':12345,'voucher_id':8}]
        if len(voucher_earning_list)>0:
            for item in voucher_earning_list:
                get_details = requests.get('http://192.168.1.55:5000/get_agent_details/'+str(item['agent_id']))
                get_result = get_details.json()
                if len(get_result) > 0:
                    get_ag_mobileno = get_result[0]['mobile']
                    result.append({'mobile_no':get_ag_mobileno,'agent_id':item['agent_id'],'voucher_id':item['voucher_id']})
                    response = jsonify(result)
                else:
                    response = jsonify(result)
        else:
            response = jsonify(result)
    else:
        response = jsonify(result)  
    return response   

1 个答案:

答案 0 :(得分:0)

这是一个棘手的问题:通常对于烧瓶而言,您必须指定到达最终终点的路线。

如果要匹配所有子路由,可以使用类型path而不是string,仅需将路由更改为:

@APP.route('/get_agent_details_on_voucher_code/<path:code>',methods=['GET'])

通过这种方式,您将获得/get_agent_details_on_voucher_code/的所有子路由,请记住code将是一个字符串,您必须提取需要解析的信息。