如何在Flask中获得发布的json?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (25)

我使用Flask构建一个简单的API。我使用PostMan来发布,而我发布的JSON很简单{"text":"lalala"}。我使用以下方法读取JSON:

@app.route('/api/add_message/<uuid>', methods=['GET', 'POST'])
def add_message(uuid):
    content = request.json
    print content
    return uuid

在浏览器上,它正确地返回了我放入GET的uuid,但是在控制台上,它只打印None

提问于
用户回答回答于

需要将请求内容类型设置为application / json以使.json属性可用;

用户回答回答于

@app.route('/api/add_message/<uuid>', methods=['GET', 'POST'])
def add_message(uuid):
    content = request.get_json(silent=True)
    print content
    return uuid

使用silent = True集合时,get_json函数在尝试检索json主体时将自动失败。 默认情况下,它被设置为False。 设置force = True将忽略request.headers.get('Content-Type')=='application / json'检查False。 默认情况下,它也被设置为False。

扫码关注云+社区