gpt4 book ai didi

python - request.json 未检索到 Flask POST

转载 作者:太空宇宙 更新时间:2023-11-04 06:42:35 24 4
gpt4 key购买 nike

我想使用 Flask 创建一个 REST-Api。作为一个“框架”,我发现了这个 Tutorial这似乎非常适合使用 Flask 创建 REST-API,而且似乎也很容易...

我有这个功能:

@app.route('/api/users', methods=['POST'])
def new_user():
username = request.json.get('username')
password = request.json.get('password')

但是当我尝试使用 SOAPUI 或 HTTPRequester(在 Firefox 中)发布数据时,我总是收到服务器错误 500

我的应用程序/json 数据如下所示:

{
'username' : 'John',
'password' : '1234'
}

而且我检查了在两个工具中它都是作为 application/json 发送的。

所以我在 request.json 之前插入了以下内容:

if not request.json:
abort(400)

现在它以代码 400 中止 - 所以它似乎不是一个 json 对象,对吧?

然后我插入了以下几行:

test = request
print test.data

然后我在看起来像 JSON 的控制台中检索它:

{
'username' : 'John',
'password' : '1234'

}

我知道我可以用这个把它变成字典:

dict = ast.literal_eval(test.data)

但我想使用 Flask 的标准功能。

提前致谢...

最佳答案

首先检查客户端发送的 HTML header (JS 或其他任何内容)。 Content-Type 应该是 application/json。并使用 request.get_json()

UPD:您也可以尝试使用 request.get_json(force=True, silent=True)。而且这个方法的flask代码非常简单,你可以通过打断点或者写日志来调试它,以便更好地理解发生了什么。

关于python - request.json 未检索到 Flask POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28383528/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com