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

Django Rest Framework用Postman发POST请求出现JSON解析错误如何解决

问题原因

你遇到的报错是JSON格式不规范导致的,标准JSON语法要求所有对象的属性名必须用双引号包裹,你发送的请求体里username、password、emailId都没有加双引号,DRF的JSON解析器无法识别所以抛出了对应错误。
你之前GET请求能正常返回,说明模型、序列化器、路由、视图的基础逻辑都是正常的,无需排查这部分代码。

解决方法

把Postman里发送的请求体修改为符合标准JSON格式的内容即可:

{
  "username": "REQUAB",
  "password": "REQUAB",
  "emailId": "requab@gmail.com"
}

同时要确认Postman的两个配置:

  • 选中Body选项卡下的raw格式,并且右侧下拉框选择JSON类型,不要选成Text/JavaScript等其他类型
  • 检查请求头里是否已经自动带上Content-Type: application/json,如果没有手动添加该请求头

额外优化建议

你当前的代码直接明文存储用户密码,不符合安全规范,建议修改序列化器逻辑,使用Django自带的密码加密工具处理密码:

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = User
        fields = ['id', 'username', 'emailId', 'password', 'recipes']
        extra_kwargs = {
            'password': {'write_only': True} # 密码字段不返回给前端
        }
    
    def create(self, validated_data):
        # 加密密码后再保存
        from django.contrib.auth.hashers import make_password
        validated_data['password'] = make_password(validated_data['password'])
        return super().create(validated_data)

内容的提问来源于stack exchange,提问作者Rishab Ravi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 22:45:06