识别 Spring WebClient 使用的 UriBuilder 实现

Identifying UriBuilder implementation used by Spring WebClient

我使用以下语法通过 get 客户端进行 get 调用。在下面的示例中,使用了 URIBuilder 的哪个实现以及如何自动推断?

webclient.get().uri(uriBuilder -> uriBuilder.path("/api/person/{personId}")
    .queryParam("param1", aDouble)
    .queryParam("param2", "A string value with spaces")
    .queryParam("param3", aListOfValues)
    .queryParam("param4", null)
    .build(anInteger))

这是我正在使用的网络客户端 - WebClient

您可以在构建时决定使用哪个实现WebClient by providing a UriBuilderFactory

您可以在其中提供实现的 WebClient.Builder has a uriBuilderFactory(UriBuilderFactory) 方法。

如果您不提供,它目前使用 DefaultUriBuilderFactory which produces UriComponentsBuilder 个实例。


您始终可以检测您的代码以打印 uriBuilder.getClass() 以进行确认。