Java Spring-5响应性(不存在像默认构造一样的创建者)
我正在使用Java11和SpringBoot2.1.3版本。我正在代码中使用第三方服务 第三方服务正在返回org.springframework.http.ResponseEntity(org.springframework:springweb:5.1.5.RELEASE) 现在,我在自动将第三方响应解组为ResponseEntity时遇到了问题,因为它没有任何默认构造函数 第三方服务签名的伪代码:Java Spring-5响应性(不存在像默认构造一样的创建者),java,spring-boot,spring-mvc,jersey,jackson-databind,Java,Spring Boot,Spring Mvc,Jersey,Jackson Databind,我正在使用Java11和SpringBoot2.1.3版本。我正在代码中使用第三方服务 第三方服务正在返回org.springframework.http.ResponseEntity(org.springframework:springweb:5.1.5.RELEASE) 现在,我在自动将第三方响应解组为ResponseEntity时遇到了问题,因为它没有任何默认构造函数 第三方服务签名的伪代码: @POST public ResponseEntity<Abc> Post
@POST
public ResponseEntity<Abc> PostABC(){
// Some logic
return responseEntity;
}
ResponseEntity<Abc> response = client.PostABC();
javax.ws.rs.client.ResponseProcessingException: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `org.springframework.http.ResponseEntity` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)
为什么ResponseEntity没有默认构造函数?
如何修复此isue?
注意:我正在获取LinkedHashMap,因为JSON无法转换为ResponseEntity您可以显示导入的完整代码吗?因此,在创建Abc的某些登录中,Abc应该有一个无参数构造函数。否则,您需要在Abc类上定义Jackson创建者。您似乎正在使用JAX-RS客户机,并试图反序列化到要与Spring RestTemplate客户机一起使用的对象。另外,由于您使用的是JAX-RS注释(@POST)和Spring对象(ResponseEntity),所以伪代码也没有多大意义。这两个框架是不同的,你应该把它们分开,这样你就不会对你能用什么和不能用什么感到困惑。