我喜欢这些:
@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
为什么?
答案 0 :(得分:1)
我偶然发现了这篇文章,帮助我让JsonIgnoreProperties重新开始工作:http://jersey.576304.n2.nabble.com/Beware-of-JacksonFeature-in-Jersey-td7581633.html
我没有足够的研究来100%确定问题的根本原因,但似乎注册JacksonFeature.class会引入一个过时版本的库。
按照该链接的建议行事对我有用。