Python Flask不接受变量参数

时间:2017-10-25 19:19:01

标签: python-2.7 rest api flask

我必须调用Python Flask API,并将变量参数传递给API。 以下是我的API路线:

@app.route('/v2/products/category', methods = ['GET'])
def get_price_dif():
    page = request.args.get('page') 
    category = request.args.get('category')

以下是我使用参数调用API的方法:

localhost:5000/v2/products/category?page=1&category=Mobiles & Accessories

此处的问题是API不接受单词" 移动设备"," & &之间的空格#34;和" 配件"在字符串" 手机&附件"

如果我打印'类别' API收到的值,仅显示" 手机"

如何在类别值中调用API和空格?

2 个答案:

答案 0 :(得分:1)

我部分地解决了这个问题。

category = str(request.args.get('category'))

现在允许我传递包含空格的参数。

localhost:5000/v2/products/category?page=1&category=Large Appliances

上述调用正常:

category : Large Appliances

但是当我的参数包含一个&符号时,问题就出现了。它被Flask作为变量值参数:

localhost:5000/v2/products/category?page=1&category=Home & Kitchen

此类别被截断为:

category : Home

如何传递&符号以便在URL中接受它?

答案 1 :(得分:0)

我认为在定义关键字参数时不需要空格 将您的代码更改为以下代码。删除方法参数和[' GET']数组

之间的白色
@app.route('/v2/products/category', methods=['GET'])
def get_price_dif():
    page = request.args.get('page') 
    category = request.args.get('category')

尝试用%20替换空格并查看它是否可以正常工作

localhost:5000/v2/products/category?page=1&category=Mobiles%20&%20Accessories