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

标签 python json mongodb flask

我有一篇文章可以从 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'

最佳答案

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

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

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

关于python - 将 JSON 发布到 Flask 会导致 400 Bad Request 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35073212/

相关文章:

python - 类型错误 : worker() takes 0 positional arguments but 1 was given

经过太多的划分后,Python 将变为 0.0

python - 如何获取 lxml.etree._ElementTree 对象的父路径

php - MySQL 与文件数据库

javascript - jQuery 将 JSON 数据附加到表中总是将元素放在错误的位置

node.js - Mongoose For Node.js 错误对象没有方法验证

javascript - 从 mongodb 创建项目数组 - Node js

python - 如何在命令提示符下打印时以清晰的格式打印输出

javascript - 如何根据对象过滤 GeoJson 中的对象?

mongodb - 如何使用匹配、排序和限制对 MongoDB 聚合进行排序