JacksonFeature打破了JsonIgnoreProperties

时间:2013-12-20 08:06:29

标签: java jersey jackson

我喜欢这些:

@JsonIgnoreProperties(ignoreUnknown = true)
public class SNAPIResponse {

    public String status;
    public String message;
    public int errorCode;

    public ConsumerProfile consumerProfile;

    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class ConsumerProfile {
        public String accountId;
    }
}

我的Jersey客户端工作正常,即使ConsumerProfile响应包含很多额外的字段。

然后我添加一行:

client.register(JacksonFeature.class);

到我的Jersey客户端设置。在那之后,忽视不再工作了:

Unrecognized field "authService" (Class com.xyz..SNAPIResponse$ConsumerProfile), not marked as ignorable

为什么?

1 个答案:

答案 0 :(得分:1)

我偶然发现了这篇文章,帮助我让JsonIgnoreProperties重新开始工作:http://jersey.576304.n2.nabble.com/Beware-of-JacksonFeature-in-Jersey-td7581633.html

我没有足够的研究来100%确定问题的根本原因,但似乎注册JacksonFeature.class会引入一个过时版本的库。

按照该链接的建议行事对我有用。