Flask使用Postman传JSON时request.get_json()返回NoneType问题咨询
常见问题原因
- 请求头未配置
Content-Type: application/json
Flask的request.get_json()默认会先校验请求头的Content-Type字段,只有值为application/json时才会尝试解析请求体为JSON,未配置该请求头会直接返回None。 - 请求方法使用错误
你代码路由同时支持GET和POST方法,如果你在Postman中如果选择GET方法发起请求,GET请求本身没有请求体负载,request.get_json()必然返回None。 - JSON格式非法
如果请求体中的JSON字符串存在语法错误,比如引号不匹配、末尾多余逗号、括号不闭合等,Flask解析失败也会返回None。 - Postman参数位置错误
如果在Postman的Params、form-data、x-www-form-urlencoded栏位填写JSON内容,而非Body栏的raw类型下选择JSON格式写入,请求体不会携带JSON数据。
现有信息排查限制
你提供的截图无法正常查看,当前信息不足以完全定位具体问题,需要补充以下信息:
- Postman请求使用的请求方法
- 请求头中
Content-Type的配置值 - Postman Body栏填写的完整JSON内容
临时验证方法
你可以先修改代码中request.get_json()为request.get_json(force=True),force=True参数会强制忽略Content-Type校验,直接解析请求体。如果修改后可以正常拿到JSON数据,即可确定是请求头配置问题。
内容的提问来源于stack exchange,提问作者lxg95
相关产品推荐
相关产品推荐

