Resolved [org.springframework.http.converter.HttpMessageNotReadableException:
如题,出现这种情况,一般都是请求端给的数据与Controller接收的数据不一致导致的,如下图:
发出请求的数据为:
后台相应Controller为
、
而本身Category这个类中的属性为,下图所示:
package com.liu.reggie.entity; import com.baomidou.mybatisplus.annotation.FieldFill; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import lombok.Data; import lombok.Getter; import lombok.Setter; import java.io.Serializable; import java.time.LocalDateTime; /** * 分类 */ @Data public class Category implements Serializable { private static final long serialVersionUID = 1L; private Long id; //类型 1 菜品分类 2 套餐分类 private Integer type; //分类名称 private String name; //顺序 private Integer sort; //创建时间 @TableField(fill = FieldFill.INSERT) private LocalDateTime createTime; //更新时间 @TableField(fill = FieldFill.INSERT_UPDATE) private LocalDateTime updateTime; //创建人 @TableField(fill = FieldFill.INSERT) private Long createUser; //修改人 @TableField(fill = FieldFill.INSERT_UPDATE) private Long updateUser; //是否删除 private Integer isDeleted; }
可以看到,并没有categoryId这个属性,导致出错,
解决方法:
1、改变前端请求,换参数,不提倡
2、建议如果用@Requestbody,需要传入类,可以去改变后端响应的类,类中包含categoryId即可,即检查相关的类,看是否类写错了,直接传入类即可,不需要加注解,因为前端传过来的数据没有封装成为一个对象,故不需要加@RequestBody
3、或者用@RequestParam,传入键值对的方式