Java 在外部客户端中发送多个密钥
我有一个nxt请求帖子,表单url是用假客户端编码的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
@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]