前后端请求 RequestBody 实体参数匹配不到

postman请求后端服务,用RequestBody 接收,但参数缺失
问题代码
 @RequestMapping(value = "/addUser",method = RequestMethod.POST,produces = "application/json;charset=UTF-8")
    public JsonResp addUser(@RequestBody User user){
        int add = userService.addUser(user);
        return restByInt(add,"添加用户");
    } 

user实体
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("user")
public class User extends absEntity implements Serializable{
    private static final long serialVersionUID=1L;
    //用户登录账号
    @TableId(type = IdType.INPUT)
    private String uAccount;
    //用户密码(登录密码)
    private String uPassword;
    //用户身份(0学生,1老师,2辅导员)
    private String uStatus;
    //用户邮箱(登录账号2)
    private String uMail;
    //用户联系电话
    private String uPhone;
}

运行结果及报错内容

img

img

debug 时发现 user的属性 未接收到值

img

这个很有意思,代码搞个压缩包丢网盘来看看

你的类User 的@Data注解失效了,或者说你的lombok插件不对,你还是去掉@Data注解,使用原生的setter和getter吧

常见的post提交数据的方式:application/x-www-form-urlencoded、multipart/form-data、application/json、text/xml

用户注册一般是通过form表单提交的数据,Controller的方法,添加对应表单字段name的参数,有几个表单字段就添加多少个对应的入参。

或者尝试使用form-data试一试

img


我刚刚试这将实体关键字改成了public,发现public可以收到