You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django开发的用户API使用Postman测试返回400 Bad Request错误如何解决?

Django 用户接口 400 Bad Request 错误原因汇总

通用排查项

  • 请求头配置错误:POST请求传JSON参数时,必须在Postman的Headers里添加Content-Type: application/json,否则Django REST Framework无法解析请求体,直接返回400
  • 路由未注册:你提供的core/urls.py中没有引入用户模块的路由,需要先在全局路由配置中添加以下代码,才能正常访问用户相关接口:
# core/urls.py 的 urlpatterns 列表中添加一行
path('api/users/', include('users.api.urls', namespace='users')),
  • 请求方法错误:两个用户接口均为POST方法,使用GET、PUT等其他方法请求会直接报错。

用户注册接口特有问题

注册接口返回400均为序列化器校验不通过触发,校验规则如下:

  • 缺少必填字段:必须同时传递email、user_name、password三个参数,少任意一个都会校验失败
  • 字段格式不符合要求:
    • email必须为合法邮箱格式,不符合规则会校验失败
    • password长度不能小于8位,长度不足会直接返回错误
    • user_name或email已存在:你的NewUser模型默认会将这两个字段设为唯一值,传递已注册的用户名/邮箱会触发唯一约束校验失败
  • 字段名拼写错误:比如将user_name写成username、password写成pwd这类拼写错误,会导致序列化器识别不到必填字段,返回400

你可以直接查看Postman返回的响应Body,视图已经将序列化器的具体错误信息返回,可以直接定位到具体是哪个字段出了问题。

登出Token拉黑接口特有问题

该接口的400均为异常捕获触发,常见原因如下:

  • 请求体缺少refresh_token字段:未传递该参数会触发KeyError,直接返回400
  • 传递的refresh_token无效:过期、被篡改、非当前项目生成的refresh token,都会导致Token实例化失败,返回400
  • 未开启simplejwt黑名单功能:需要先在settings.py的INSTALLED_APPS中添加rest_framework_simplejwt.token_blacklist,否则调用blacklist()方法会直接报错。

内容的提问来源于stack exchange,提问作者Yusuf Doğan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:06:04