@JsonIgnore、@JsonProperty、@JsonIgnoreProperties使用

@JsonIgnore作用在属性和方法上,效果是一样的,都会屏蔽掉get、set方法
@JsonProperty作用在get、set方法上,可以保留get、set方法
例如:userName只接收,不返回:

public class UserDto {
    private String userName;
    private String password;

    @JsonIgnore
    public String getUserName() {
        return userName;
    }

    @JsonProperty
    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }


    public void setPassword(String password) {
        this.password = password;
    }
}

通过以上两个注解实现password不接收,但返回结果,似乎有bug
https://github.com/FasterXML/jackson-databind/issues/1805
可以通过以下方法实现:

@JsonIgnoreProperties(value="password", allowGetters=true)
@JsonIgnoreProperties(value="password", allowGetters=true)
public class UserDto {
    private String userName;
    private String password;

    @JsonIgnore
    public String getUserName() {
        return userName;
    }

    @JsonProperty
    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getPassword() {
        return password;
    }


    public void setPassword(String password) {
        this.password = password;
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值