Java 在外部客户端中发送多个密钥

Java 在外部客户端中发送多个密钥,java,spring-cloud-feign,openfeign,Java,Spring Cloud Feign,Openfeign,我有一个nxt请求帖子,表单url是用假客户端编码的 @FeignClient( url = "${url}", configuration = NxtApi.Configuration.class) public interface NxtApi { @PostMapping(value = "nxt", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE) St

我有一个nxt请求帖子,表单url是用假客户端编码的

@FeignClient(
        url = "${url}", configuration = NxtApi.Configuration.class)
public interface NxtApi {

    @PostMapping(value = "nxt", consumes = MediaType.APPLICATION_FORM_URLENCODED_VALUE)
    String new(
            @RequestParam String requestType, @RequestBody Map<String, ?> payload);

    class Configuration {

        @Bean
        Encoder feignFormEncoder(ObjectFactory<HttpMessageConverters> converters) {
            return new SpringFormEncoder(new SpringEncoder(converters));
        }

        @Bean
        Logger.Level feignLoggerLevel() {
            return Logger.Level.FULL;
        }

    }
}
但它是这样发送的(日志中的请求-响应)


谢谢您的帮助。

您必须使用字符串值列表而不是映射

@PostMapping(value=“nxt”,consumes=MediaType.APPLICATION\u FORM\u URLENCODED\u value)
String new(@RequestParam String requestType、@RequestParam(“过滤器”)列表过滤器、@RequestBody映射负载);
正如我在这里发现的:

  Map<String, Object> param = new HashMap<>();
  param.put("filter", valueOne);
  param.put("filter", valueTwo);
  api.new("asset",param);
filter=valueOne&filter=valueTwo
filter=[valueOne,valueTwo]