ipa*_*lic 7 rest spring jackson deserialization
RestTemplate的getForObject方法忽略@JsonIgnoreProperties(ignoreUnknown = true)了类的注释.
例如
@JsonIgnoreProperties(ignoreUnknown = true)
public class Stock extends AbstractSObject
{
// fields
}
Run Code Online (Sandbox Code Playgroud)
和
RestTemplate rest = new RestTemplate();
Stock s = rest.getForObject("address", Stock.class);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误
无法读取JSON:无法识别的字段"SomeField"(类sandbox.Stock),未标记为可忽略
ipa*_*lic 16
春天的RestTemplate期待com.fasterxml.jackson.annotation.JsonIgnoreProperties.
如果您org.codehaus.jackson.annotate.JsonIgnoreProperties将旧包中的注释用于其他目的,则可以手动设置RestTemplate忽略未知属性:
RestTemplate rest = new RestTemplate();
ObjectMapper lax = new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
MappingJacksonHttpMessageConverter c = new MappingJacksonHttpMessageConverter();
c.setObjectMapper(lax);
List<HttpMessageConverter<?>> list = new ArrayList<>();
list.add(c);
rest.setMessageConverters(list);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10645 次 |
| 最近记录: |