如何使用Jackson编码Feign HTTP GET请求参数?

时间:2018-07-29 17:38:27

标签: java spring jackson feign

我对Feign很陌生。我的目的是通过HTTP使用Jackson编码器/解码器在客户端之间进行通信。为此,我使用了以下配置:

@Configuration
protected static class JacksonFeignConfiguration {
  @Bean
  public Decoder feignDecoder() {
    return new JacksonDecoder();
  }
  @Bean
  public Encoder feignEncoder() {
    return new JacksonEncoder();
  }

}

虽然这似乎是格式化请求的主体,但它没有格式化请求参数(使用@RequestParam)。这些是使用格式不正确的toString()方法意外创建的。

如何确保使用Jackson格式化请求参数。这是关键,因为我需要在GET请求中包括一系列过滤条件对象。

当前,我已通过将过滤条件对象更改为toString()方法以返回JSON字符串,并编写了可解码该字符串的匹配参数解析器来解决此问题。

这是唯一的方法还是可以通过配置自动进行?

1 个答案:

答案 0 :(得分:0)

需要在FeignClient界面中设置此配置类。

@FeignClient(value = "client", configuration = JacksonFeignConfiguration.class)
public interface YourClient{
   //Your mappings
}
相关问题