小编典典

将JSON发布到Flask会导致400错误的请求错误

python

我有一篇文章可以从MongoDB获取带有参数和列的json,但是当我尝试使用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'

阅读 99

收藏
2021-01-20

共1个答案

小编典典

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

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

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

2021-01-20