3 回答
TA贡献2003条经验 获得超2个赞
如果您传递新的 URI 对象,则会覆盖基本 URI。您应该使用uri带有 lambda 作为参数的方法,例如:
final WebClient webClient = WebClient
.builder()
.baseUrl("http://localhost")
.build();
webClient
.get()
.uri(uriBuilder -> uriBuilder.pathSegment("api", "v2", "json", "test").build())
.exchange();
TA贡献2065条经验 获得超13个赞
稍微不同的方式 -在现有 uri 对象上使用path而不是pathSegment 。它有助于以配置/常量形式方便地维护路径。
final WebClient webClient = WebClient
.builder()
.baseUrl("http://localhost")
.build();
webClient
.get()
.uri(uriBuilder -> uriBuilder.path("api/v2/json/test").build())
.exchange();
TA贡献1772条经验 获得超6个赞
一旦你UriBuilderFactory通过调用设置了一个像你一样的baseUrl(String uri)方法,添加所需分支的最简单方法是使用 uri(String uri,Object... uriVariables)签名,而不指定第二个参数,因为它声明为 varargs 然后可以是 0 长度。
在您的情况下,它只是简化为:
public WebClient webClient() {
return WebClient.builder()
.baseUrl("https://example.com")
.build();
}
webClient.get().uri("/foo/bar")
添加回答
举报