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;
}
网友评论