MAUI Blazor对接Django REST登录遇Bad Request问题排查与请求规范
Django REST Framework登录返回Bad Request的原因及解决办法
常见原因
- 字段名称不匹配:DRF的登录接口一般要求接收小写的
username和password字段,你代码里的匿名对象用了大写开头的Username和Password,序列化后JSON键名是大写,后端识别不了,直接触发参数验证失败返回400错误。 - 没利用好错误详情:你代码里已经打印了错误内容,但可能没留意DRF返回的具体错误提示,这是快速定位问题的关键。
修复步骤
修正请求字段名
把匿名对象的字段改成小写,和后端接口参数名保持一致:var loginData = new { username = username, password = password };查看详细错误信息
运行应用时盯着控制台输出的errorContent,DRF会返回明确的错误结构,比如:{"username":["This field is required."],"password":["This field is required."]}一眼就能看出后端要的是什么字段。
确认请求内容类型
你的代码已经正确设置了application/json的媒体类型,但如果后端有特殊配置,再检查一遍这个部分:new StringContent(json, Encoding.UTF8, "application/json")检查后端配置
确保DRF的登录视图(比如内置的obtain_auth_token或者你自定义的视图)允许接收JSON请求,并且没有额外的必填参数。
内容的提问来源于stack exchange,提问作者Jeipii81
相关产品推荐
相关产品推荐

