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,传入键值对的方式

 

posted @ 2022-09-25 10:04  努力学习の小白  阅读(2094)  评论(0编辑  收藏  举报
Live2D