美文网首页
使用Lombok 时@JsonIgnore不起作用

使用Lombok 时@JsonIgnore不起作用

作者: 忘记_3a6a | 来源:发表于2019-12-25 20:51 被阅读0次

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放入@ConstructorProperties所有参数构造函数。在创建JSON序列化程序期间,字段属...

  • lombok

    lombok的安装以及使用 什么是lombok 有什么好处 如何使用 IntelliJ IDEA 安装lombok...

  • 安装lombok

    使用lombok要先安装! 使用lombok要先安装! 使用lombok要先安装! 编译jar包后会自己找到相关的...

  • Jackson全面解析--注解全讲解八(@JsonIgnore,

    @JsonIgnore 一般在序列化或是反序列化的时候,有些字段你不希望暴露出去,可以使用@JsonIgnore注...

  • lombok 插件使用技巧

    lombok @EqualsAndHashCode 注解的影响 Java中优雅的使用Lombok

  • 推荐几个自己使用的使用IDEA插件

    推荐几个自己使用的使用IDEA插件 Lombok plugin 介绍 使用Lombok时候可以安装这个插件,能够让...

  • IDEA报: Lombok Requires Annotatio

    一、问题描述 IDEA使用lombok,提示: Lombok Requires Annotation Proces...

  • lombok guide

    lombok guide lombok是什么 lombok怎么用 这里不谈原理,不讲性能,只谈使用。 这里只说比较...

  • Lombok的基本用法

    一、引入lombok IDEA还需要下载lombok插件。 二、lombok的使用 1.@Data @Data的功...

  • Lombok介绍

    Lombok的使用 刚实习时,拉到公司的代码,才知道有一个插件叫lombok,可以帮助自动生成很多代码,减少代码的...

网友评论

      本文标题:使用Lombok 时@JsonIgnore不起作用

      本文链接:https://www.haomeiwen.com/subject/czrhoctx.html