Java SpringWeb客户端中的发送请求参数
我想在Spring WebClient请求链接中发送链接请求参数。例如: 我尝试了以下代码:Java SpringWeb客户端中的发送请求参数,java,spring,spring-webflux,Java,Spring,Spring Webflux,我想在Spring WebClient请求链接中发送链接请求参数。例如: 我尝试了以下代码: WebClient client; Map<String, String> map = new HashMap<>(); public Mono<Response> execute(Transaction transaction) { map.put("some_key", "some_value"); Mono<PaymentTran
WebClient client;
Map<String, String> map = new HashMap<>();
public Mono<Response> execute(Transaction transaction) {
map.put("some_key", "some_value");
Mono<PaymentTransaction> transactionMono = Mono.just(transaction);
return client.post().uri("/notification", token)
.accept(MediaType.APPLICATION_XML)
.contentType(MediaType.APPLICATION_XML)
.body(transactionMono, Transaction.class)
.attributes(Consumer<map>)
.retrieve()
.bodyToMono(Response.class);
}
WebClient客户端;
Map Map=newhashmap();
公共Mono执行(事务){
map.put(“some_键”、“some_值”);
Mono transactionMono=Mono.just(事务);
返回client.post().uri(“/notification”,标记)
.accept(MediaType.APPLICATION\u XML)
.contentType(MediaType.APPLICATION_XML)
.body(transactionMono,Transaction.class)
.属性(消费者)
.retrieve()
.bodyToMono(Response.class);
}
但是,当我尝试设置映射时,我在标记“>”
上得到语法错误,这之后应该是表达式
在不将值硬编码到地址中的情况下,实现此功能的正确方法是什么
public Mono<PaymentResponse> execute(PaymentTransaction transaction, WebClient client) {
long conn = 1L;
int sec = 1232;
Mono<PaymentTransaction> transactionMono = Mono.just(transaction);
return client.post()
.uri(uriBuilder -> uriBuilder.scheme("https").host("www.test.com")
.path("notification")
.queryParam("con", conn)
.queryParam("sec", sec)
.build())
.accept(MediaType.APPLICATION_XML)
.contentType(MediaType.APPLICATION_XML)
.body(transactionMono, PaymentTransaction.class)
.retrieve()
.bodyToMono(PaymentResponse.class);
}
public Mono-execute(PaymentTransaction事务,WebClient客户端){
长连接=1L;
int-sec=1232;
Mono transactionMono=Mono.just(事务);
返回client.post()
.uri(uriBuilder->uriBuilder.scheme(“https”).host(“www.test.com”)
.path(“通知”)
.queryParam(“con”,康涅狄格州)
.queryParam(“秒”,秒)
.build())
.accept(MediaType.APPLICATION\u XML)
.contentType(MediaType.APPLICATION_XML)
.body(transactionMono,PaymentTransaction.class)
.retrieve()
.bodyToMono(PaymentResponse.class);
}
此处的请求参数是否可能重复queryParam(“name”,“spring framework”)
是的,发错了帖子。伙计,我是唯一一个真正对这种新的多层、深层嵌套语法感到厌烦的人吗?