fastjson中的@JsonIgnore注解加在实体类id时前端传id传不到后端

本文介绍了在使用Fastjson时,@JsonIgnore注解如何影响实体类的序列化过程,特别是在处理ID字段时的问题。当在Article实体类的id字段上添加@JsonIgnore,前端发送修改请求时ID无法传到后端。移除注解后接口恢复正常。@JsonIgnore的作用是避免在序列化过程中包含某些不需要传递给前端的属性,如密码字段。理解其工作原理对于前后端交互至关重要。
摘要由CSDN通过智能技术生成

fastjson中的@JsonIgnore注解加在实体类id时前端传id传不到后端

前端发送一个对数据进行修改的的请求
RestFul风格的修改请求
实体类的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;

}

控制台报
DispatcherServlet未初始化
去掉@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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值