我有一個(gè)帶有以下假客戶的項(xiàng)目@FeignClient(name = "name", url = "${tokenService}")public interface TokenService { @RequestMapping(path = "/SLJsonWebTokenWrapper/token/wrap", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) Observable<Token> getToken(@RequestHeader("externalSystemCode") String systemCode, @RequestBody TokenRequest tokenRequest);}和以下依賴org.springframework.cloud:spring-cloud-starter-feign一切正常。當(dāng)我將項(xiàng)目更新為 Spring Boot 2(并使用org.springframework.cloud:spring-cloud-starter-openfeign)時(shí),對(duì)此服務(wù)的請(qǐng)求因異常而失敗c.f.j.d.e.InvalidDefinitionException: Cannot construct instance of `rx.Observable` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (ByteArrayInputStream); line: 1, column: 2]at c.f.j.d.e.InvalidDefinitionException.from(InvalidDefinitionException.java:67)at c.f.j.d.DeserializationContext.reportBadDefinition(DeserializationContext.java:1452)at c.f.j.d.DeserializationContext.handleMissingInstantiator(DeserializationContext.java:1028)at c.f.j.d.d.BeanDeserializerBase.deserializeFromObjectUsingNonDefault(BeanDeserializerBase.java:1297)at c.f.j.d.d.BeanDeserializer.deserializeFromObject(BeanDeserializer.java:326)at c.f.j.d.d.BeanDeserializer.deserialize(BeanDeserializer.java:159)at c.f.j.d.ObjectMapper._readMapAndClose(ObjectMapper.java:4013)at c.f.j.d.ObjectMapper.readValue(ObjectMapper.java:3084)... 1 frames excluded... 99 common frames omittedWrapped by: o.s.h.c.HttpMessageConversionException: Type definition error: [simple type, class rx.Observable]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `rx.Observable` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)我該如何解決?PS 這個(gè)問題類似于Spring cloud netflix 和 HystrixObservable --> JsonMappingException,雖然沒有答案
2 回答

有只小跳蛙
TA貢獻(xiàn)1824條經(jīng)驗(yàn) 獲得超8個(gè)贊
當(dāng)您將 Feign 依賴項(xiàng)更改為:
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.1.0.RELEASE</version>
您的 Feign 客戶端的注釋也將更改為例如:
@FeignClient(name = "your-service-name", configuration = FeignConfig.class)
添加回答
舉報(bào)
0/150
提交
取消