Spring boot

SpringBoot @JsonIgnoreProperties

2020-11-26  本文已影响0人  三也视界
image.png
/**
 * @Author philos
 * @create 2020/11/13 16:24
 */
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = {"password"})
public class UserEntity {

    /** 会员级别ID;1->黄金会员;2->白金会员;3->钻石会员;4->普通会员 */
    public int memberLevelId ;
    /** 用户名 */
    public String username ;
    /** 密码 */
    public String password ;
    /** 手机号码 */
    public String phone ;
    /** 昵称 */
    public String nickname ;
    /** 帐号启用状态;0->禁用;1->启用 */
    public int status ;
    /** 注册时间 */
    public String createTime ;


}

类上添加了@JsonIgnoreProperties(value = {"password"}) 注解,即忽略password字段,不会返回password

image.png

@JsonIgnore注解用来忽略某些字段,可以用在变量或者Getter方法上,用在Setter方法时,和变量效果一样。这个注解一般用在我们要忽略的字段上。

@JsonIgnoreProperties(ignoreUnknown = true),将这个注解写在类上之后,就会忽略类中不存在的字段。这个注解还可以指定要忽略的字段,例如@JsonIgnoreProperties({ “password”, “secretKey” })

@JsonFormat可以帮我们完成格式转换。例如对于Date类型字段,如果不适用JsonFormat默认在rest返回的是long,如果我们使用@JsonFormat(timezone = “GMT+8”, pattern = “yyyy-MM-dd HH:mm:ss”),就返回"2018-11-16 22:58:15"

@Data
@JsonIgnoreProperties(value = {"fullName", "comment"})
public class User {
    private String id;
    private String name;
    private String fullName;
    private String comment;
    private String mail;

    @JsonIgnore
    private String address;

    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date regDate;

    private Date reg2Date;
}

comment、fullName、address属性被忽略了,regDate的格式进行转换

上一篇下一篇

猜你喜欢

热点阅读