【SpringBoot】使用RestTemplate.exchange访问API,反序列化获取实体时报错

使用RestTemplate.exchange访问其他的服务,然后反序列化为实体类的时候抛出异常,异常信息如下:

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: xxxxxxx

出现该异常的原因是由于我这两个服务中的字段个数或者名称不一致造成的,解决办法主要有以下两种:

  • 接收的实体类中添加如下所示注解:
@JsonIgnoreProperties(ignoreUnknown = true)
  • 在ObjectMapper中生成实体类对象时添加如下配置:
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);

例如:

ResponseEntity<String> res = restTemplate.exchange(xxxxxx);
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
A a=mapper.readValue(s, A.class);

猜你喜欢

转载自blog.csdn.net/qgnczmnmn/article/details/107186275