Python 3 Flask Rest API:"request.get_json()"给出类型错误:'NoneType'对象不可下标



我正在python-flask中创建一个路由,该路由将作为rest api来注册用户。当我试图在POST方法中获取通过poster传递的json数据时,我得到错误TypeError:"NoneType"对象不可下标

邮递员的请求:http://127.0.0.1:5000/register

原始输入:{"用户名":"alok","密码":"1234"}

我的路线和功能:

@app.route('/register', methods=['GET', 'POST'])
def signup_user():
data = request.get_json()
return data['username']

据我所知,上述函数应返回:">alok">

但我得到错误:TypeError:"NoneType"对象不可下标

如有任何帮助,将不胜感激

我花了几个小时在互联网上,从flask官方网站上得到了答案

我在提出请求时并没有设置mimetype
如果mimetype不指示JSON(application/JSON,请参阅is_JSON(((,则返回None。
request.get_json((用于将数据解析为json实际语法为get_json(force=False, silent=False, cache=True)

参数
force–忽略mimetype并始终尝试解析JSON。
silent–使解析错误静音并返回None。
cache–存储解析后的JSON,以便为后续调用返回。

所以最后我把代码改成了

@app.route('/register', methods=['GET', 'POST'])
def signup_user():
data = request.get_json(force=True)
return data['username']

问题解决了。

Content-Type : application/json添加到Postneneneba API请求的头中。

相关内容

最新更新