使用Feign和Spring MVC编码和解码ResponseEntity?

时间:2018-07-17 14:36:37

标签: spring-boot jhipster spring-cloud spring-cloud-feign

我正在尝试动态使用伪装。但是在转换RequestMapping的响应时,我遇到很多问题。

Controller.java:

@RequestMapping("/users")
public ResponseEntity<List<User>> sendUsers

MyFeignClient.java:

public interface MyFeignClient {

@RequestLine(value="GET /api/users")
ResponseEntity<List<User>> getUsers();}

MainClass.java:

MyFeignClient callService = Feign.builder()
            .encoder(new Encoder.Default())
            .decoder(new Decoder.Default())
            .requestInterceptor(new FeignConfig(props).getJwtRequestInterceptor())
            .target(MyFeignClient.class, "http://localhost:8710");

然后:

ResponseEntity<List<User>> txnPool = callService.getUsers();

但是我有以下错误:

  

feign.codec.DecodeException用户不是此解码器支持的类型

我该如何解决?

1 个答案:

答案 0 :(得分:3)

我通过使用JacksonEncoder和JacksonDecoder解决了它

MyFeignClient callService = Feign.builder()
        .encoder(new JacksonEncoder())
        .decoder(new JacksonDecoder())
        .requestInterceptor(new FeignConfig(props).getJwtRequestInterceptor())
        .target(MyFeignClient.class, "http://localhost:8710");

我还将@Headers("Content-Type: application/json")添加到了我的伪装界面