fastjson中的@JsonIgnore注解加在实体类id时前端传id传不到后端
前端发送一个对数据进行修改的的请求
实体类的id使用@JsonIgnore
修饰的id
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@JsonPropertyOrder(value={"content","title"})
public class Article {
@JsonIgnore
private Long id;
@JsonProperty("auther")
private String author;
private String title;
private String content;
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
}
控制台报
去掉@JsonIgnore
,该接口可以正常调通
关于@JsonIgnore的作用
它的作用就是在后端给前端数据的时候对后端发送出的json字符串能够发挥作用的一个注解,可以忽略不想传递给前台的属性或接口
如果不使用此注解的话,在json序列化时将java bean中的一些属性删除掉后,对于前端是不需要,可是我们后端操作的时候却是需要的,如用户的密码字段,前端并不需要返回,但是后端操作逻辑处理,验证登录等等都是需要的,如果将属性删掉,就无法使用 set/get 方法,也就失去了对数据的操作!
https://blog.csdn.net/qq_39052513/article/details/109645885?utm_medium=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-OPENSEARCH-1.control