Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我如何使用Jackson编码假的HTTP GET请求参数?_Java_Spring_Jackson_Feign - Fatal编程技术网

Java 我如何使用Jackson编码假的HTTP GET请求参数?

Java 我如何使用Jackson编码假的HTTP GET请求参数?,java,spring,jackson,feign,Java,Spring,Jackson,Feign,我不太会装腔作势。我的目标是通过HTTP使用Jackson编码器/解码器在客户端之间进行通信。为此,我使用了以下配置: @Configuration protected static class JacksonFeignConfiguration { @Bean public Decoder feignDecoder() { return new JacksonDecoder(); } @Bean public Encoder feignEncoder() {

我不太会装腔作势。我的目标是通过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请求中包含筛选条件对象的列表

目前,我已经解决了这个问题,将filter-criteria-object-toString()方法更改为返回一个JSON字符串,并编写一个匹配的参数解析器来解码该字符串


这是唯一的方法还是可以通过配置实现自动化?

需要在FaignClient接口中设置此配置类

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

我这样做了,但是GET请求上的请求参数没有被编码为JSON,只有请求/响应体。