使用Lombok時(shí)@JsonIgnore注解失效解決方案
問題
Lombok放入@ConstructorProperties所有參數(shù)構(gòu)造函數(shù)。在創(chuàng)建JSON序列化程序期間,字段屬性被構(gòu)造函數(shù)屬性覆蓋。這發(fā)生在POJOPropertiesCollector.collectAll
一個(gè)簡單的解決方案
是將設(shè)置 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 {
//活動(dòng)ID
@JsonSerialize(nullsUsing = NullLongSerializer.class)
private Long seminarId;
//活動(dòng)名稱
@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;
//標(biāo)簽
@JsonSerialize(nullsUsing = NullStringSerializer.class)
private String tags;
//視頻時(shí)長
@JsonSerialize(nullsUsing = NullStringSerializer.class)
private String mediaTime;
//直播開始時(shí)間
@JsonSerialize(nullsUsing = NullStringSerializer.class)
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss")
private Date startTime;
//預(yù)告|回顧 /直播
@JsonSerialize(nullsUsing = NullShortSerializer.class)
private Short seminarStatus;
//活動(dòng)一句話介紹
@JsonSerialize(nullsUsing = NullStringSerializer.class)
private String signature;
//播放地址
@JsonSerialize(nullsUsing = NullStringSerializer.class)
private String mediaPlayer;
//是否直播
@JsonIgnore
private Short liveStatus;
//結(jié)束時(shí)間
@JsonIgnore
private Date endTime;
//直播地址
@JsonIgnore
private String liveMediaPlayer240p;
//錄播地址
@JsonIgnore
private String mediaPlayer240p;
}@JsonIgnore Json不返回該屬性
@JsonSerialize(nullsUsing = NullStringSerializer.class) 默認(rèn)值 取代null
以上就是使用Lombok時(shí)@JsonIgnore注解失效問題解決的詳細(xì)內(nèi)容,更多關(guān)于Lombok使用@JsonIgnore失效的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
使用Spring處理x-www-form-urlencoded方式
這篇文章主要介紹了使用Spring處理x-www-form-urlencoded方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-11-11
Spring Security自定義登錄原理及實(shí)現(xiàn)詳解
這篇文章主要介紹了Spring Security自定義登錄原理及實(shí)現(xiàn)詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
java自帶命令行工具jmap、jhat與jinfo的使用實(shí)例代碼詳解
本篇文章主要通過代碼實(shí)例對java自帶命令行工具jmap、jhat與jinfo的使用做出了詳解,需要的朋友可以參考下2017-04-04
springboot調(diào)用webservice-soap接口的實(shí)現(xiàn)
接口協(xié)議目前廣泛使用的有http協(xié)議和RPC協(xié)議和webservice,本文主要介紹了springboot調(diào)用webservice-soap接口的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
Java?MyBatis是如何執(zhí)行一條SQL語句的
這篇文章主要介紹了Java?MyBatis是如何執(zhí)行一條SQL語句的,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-07-07

