在 Spring Web 客户端中发送请求参数

Send Request Parameters in Spring Web client

我想在 Spring WebClient 请求 link 中发送 link 请求参数。例如:

https://www.test.com/notification?con=41280440000097&sec=1232

我试过这段代码:

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);
}

但是,当我尝试设置地图时,我在标记 ">" 上收到语法错误,在此之后应有表达式

在不将值硬编码到地址中​​的情况下实现此目的的正确方法是什么?

这个有用吗?

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);
    }