使用Lombok时@JsonIgnore注解失效解决方案

 更新时间:2023年06月12日 09:29:39   作者:忘记_3a6a  
这篇文章主要为大家介绍了使用Lombok时@JsonIgnore注解失效问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

问题

Lombok放入@ConstructorProperties所有参数构造函数。在创建JSON序列化程序期间,字段属性被构造函数属性覆盖。这发生在POJOPropertiesCollector.collectAll

一个简单的解决方案

是将设置 suppressConstructorProperties为true中@AllArgsConstructor。

package ren.moore.api.app.common.controller.tools.response.seminar;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import ren.moore.api.config.jackson.NullLongSerializer;
import ren.moore.api.config.jackson.NullShortSerializer;
import ren.moore.api.config.jackson.NullStringSerializer;
import java.util.Date;
/**
 * APP视频列表
 */
@Data
@NoArgsConstructor
@AllArgsConstructor(suppressConstructorProperties =true)
public class AppHotSeminarVo {
    //活动ID
    @JsonSerialize(nullsUsing = NullLongSerializer.class)
    private Long seminarId;
    //活动名称
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    private String seminarTitle ;
    //图片
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    private String  seminarPreImgAddr;
    //主讲人名称
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    private String  lecturerName;
    //主讲人小图
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    private String  lecturerAvatar;
    //标签
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    private String  tags;
    //视频时长
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    private String  mediaTime;
    //直播开始时间
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
    private Date startTime;
    //预告|回顾 /直播
    @JsonSerialize(nullsUsing = NullShortSerializer.class)
    private Short seminarStatus;
    //活动一句话介绍
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    private String signature;
    //播放地址
    @JsonSerialize(nullsUsing = NullStringSerializer.class)
    private String mediaPlayer;
    //是否直播
    @JsonIgnore
    private Short  liveStatus;
    //结束时间
    @JsonIgnore
    private Date endTime;
    //直播地址
    @JsonIgnore
    private String liveMediaPlayer240p;
    //录播地址
    @JsonIgnore
    private String mediaPlayer240p;
}

@JsonIgnore Json不返回该属性

@JsonSerialize(nullsUsing = NullStringSerializer.class) 默认值 取代null

以上就是使用Lombok时@JsonIgnore注解失效问题解决的详细内容,更多关于Lombok使用@JsonIgnore失效的资料请关注脚本之家其它相关文章!

相关文章

  • Java中的String不可变性实现

    Java中的String不可变性实现

    在Java编程中,String类的不可变性是一个被广泛讨论和利用的特性,本文主要介绍了Java中的String不可变性实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • SpringCloud注册中心部署Eureka流程详解

    SpringCloud注册中心部署Eureka流程详解

    Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的
    2022-11-11
  • 使用Spring处理x-www-form-urlencoded方式

    使用Spring处理x-www-form-urlencoded方式

    这篇文章主要介绍了使用Spring处理x-www-form-urlencoded方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-11-11
  • Spring Security自定义登录原理及实现详解

    Spring Security自定义登录原理及实现详解

    这篇文章主要介绍了Spring Security自定义登录原理及实现详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • java自带命令行工具jmap、jhat与jinfo的使用实例代码详解

    java自带命令行工具jmap、jhat与jinfo的使用实例代码详解

    本篇文章主要通过代码实例对java自带命令行工具jmap、jhat与jinfo的使用做出了详解,需要的朋友可以参考下
    2017-04-04
  • java虚拟机学习高级篇

    java虚拟机学习高级篇

    在本篇文章里小编给大家整理了关于java虚拟机学习高级篇的相关内容,有兴趣的朋友们跟着学习参考下。
    2019-06-06
  • springboot调用webservice-soap接口的实现

    springboot调用webservice-soap接口的实现

    接口协议目前广泛使用的有http协议和RPC协议和webservice,本文主要介绍了springboot调用webservice-soap接口的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • Java MyBatis是如何执行一条SQL语句的

    Java MyBatis是如何执行一条SQL语句的

    这篇文章主要介绍了Java MyBatis是如何执行一条SQL语句的,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • Java多线程处理文件的示例详解

    Java多线程处理文件的示例详解

    在Java编程中,文件处理是一项常见的任务,为了提高文件处理的效率,我们可以使用多线程技术,本文将详细介绍如何使用Java多线程来处理文件,需要的可以参考下
    2024-12-12
  • Java8 ArrayList之forEach的使用

    Java8 ArrayList之forEach的使用

    这篇文章主要介绍了Java8 ArrayList之forEach的使用,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08

最新评论