将JSON发布到Flask会导致400 Bad Request错误

时间:2016-01-28 22:18:04

标签: python json mongodb flask

我有一篇帖子可以获取带有参数的json以及从MongoDB获取的列,但是当我尝试使用mongo语法进行LIKE时,它会抛出:

HTTP/1.1 400 Bad Request

这是POST请求:

curl -i -H "Content-Type: application/json" -X POST -d '{"parameters":{ "AddressLine1":{$regex:"Rio"}},"columns":{"SalesOrderID":1,"TotalDue":1}}' https://demo.com/api/v1.0/tbles/56a79d15243c488d217f322c

curl -i -H "Content-Type: application/json" -X POST -d '{"parameters":{ "AddressLine1":{$regex:/Rio/}},"columns":{"SalesOrderID":1,"TotalDue":1}}' https://demo.com/api/v1.0/tbles/56a79d15243c488d217f322c

这是应用程序代码:

@app.route("/api/v1.0/tables/<idDatasource>", methods=['POST'])
def get_table(idDatasource):
    return 'Hello'

1 个答案:

答案 0 :(得分:1)

您没有发布有效的JSON。需要引用所有字符串值,包括对象中的键。你没有引用$regex

{"parameters":{"AddressLine1":{"$regex":"Rio"}},"columns":{"SalesOrderID":1,"TotalDue":1}}

如果Flask无法解码JSON数据,则会因为请求无效而引发400错误。