gson OpenFeign解码可完成未来

pn9klfpd  于 2022-12-23  发布在  其他
关注(0)|答案(1)|浏览(177)

我想使用一个异步伪客户端(io.github.openfei和notspring-cloud-starter-openfeign)来调用我的REST API。

interface FeignClient {
    @RequestLine("GET /") CompletableFuture<ResponseEntity> hello();
}

FeignClient feignClient = AsyncFeign.builder()
        .decoder(new GsonDecoder())
        .target(FeignClient.class, "http://localhost:8080");

assertEquals("hello", feignClient.hello().get());

这也是官方文档(https://github.com/OpenFeign/feign)中的表述。
使用Gson作为解码器时,出现以下错误

Decode Failed making field 'java.util.concurrent.CompletableFuture#result' accessible; either change its visibility or write a custom TypeAdapter for its declaring type

我尝试为ComletableFutures查找TypeAdapter,但找不到任何TypeAdapter。我无法相信没有这样的TypeAdapter,而我是唯一一个面临此问题的人。
使用Jackson作为解码器,我得到另一个错误:

Feign Unrecognized token 'hello': was expecting (JSON String, Number, Array, Object or token 'null', 'true' or 'false')

我在stackoverflow上找到以下相关问题

但这些都无济于事。
PS.:HTTP请求使用JavaHTTP客户端工作正常。

7rtdyuoh

7rtdyuoh1#

正如在相应的GitHub问题中所讨论的,这似乎是Feign的一个bug,在12.0版本和更新版本中得到了修复。

相关问题