本文整理了Java中org.springframework.web.util.UriBuilder
类的一些代码示例,展示了UriBuilder
类的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。UriBuilder
类的具体详情如下:
包路径:org.springframework.web.util.UriBuilder
类名称:UriBuilder
[英]Builder-style methods to prepare and expand a URI template with variables.
Effectively a generalization of UriComponentsBuilder but with shortcuts to expand directly into URI rather than UriComponents and also leaving common concerns such as encoding preferences, a base URI, and others as implementation concerns.
Typically obtained via UriBuilderFactory which serves as a central component configured once and used to create many URLs.
[中]生成器风格的方法,用于准备和扩展带有变量的URI模板。
实际上是UriComponentsBuilder的一种泛化,但有直接扩展到URI而不是UriComponents的快捷方式,还将常见问题(如编码首选项、基本URI等)作为实现问题。
通常通过UriBuilderFactory获得,UriBuilderFactory作为一个中心组件,配置一次,用于创建多个URL。
代码示例来源:origin: spring-projects/spring-framework
@Test
public void uriBuilder() {
this.builder.build().get()
.uri(builder -> builder.path("/path").queryParam("q", "12").build())
.exchange();
ClientRequest request = verifyAndGetRequest();
assertEquals("/base/path?q=12", request.url().toString());
verifyNoMoreInteractions(this.exchangeFunction);
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void baseUriWithPathOverride() {
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory("http://foo.com/v1");
URI uri = factory.builder().replacePath("/baz").build();
assertEquals("http://foo.com/baz", uri.toString());
}
代码示例来源:origin: spring-projects/spring-framework
@Test // SPR-17465
public void defaultSettingsWithBuilder() {
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory();
URI uri = factory.builder().path("/foo/{id}").build("a/b");
assertEquals("/foo/a%2Fb", uri.toString());
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void baseUri() {
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory("http://foo.com/v1?id=123");
URI uri = factory.uriString("/bar").port(8080).build();
assertEquals("http://foo.com:8080/v1/bar?id=123", uri.toString());
}
代码示例来源:origin: spring-projects/spring-framework
public URI expand(String uriTemplate, Map<String, ?> uriVars) {
return uriString(uriTemplate).build(uriVars);
}
代码示例来源:origin: io.github.reactivefeign/feign-reactive-core
protected ReactiveHttpRequest buildRequest(Object[] argv) {
Map<String, ?> substitutionsMap = methodMetadata.indexToName().entrySet().stream()
.flatMap(e -> e.getValue().stream()
.map(v -> new AbstractMap.SimpleImmutableEntry<>(e.getKey(), v)))
.collect(Collectors.toMap(Map.Entry::getValue,
entry -> argv[entry.getKey()]));
HttpMethod method = HttpMethod.resolve(methodMetadata.template().method());
URI uri = defaultUriBuilderFactory.uriString(methodMetadata.template().url())
.queryParams(parameters(argv)).build(substitutionsMap);
return new ReactiveHttpRequest(method, uri, headers(argv, substitutionsMap),
body(argv));
}
代码示例来源:origin: spring-projects/spring-framework
public URI expand(String uriTemplate, Object... uriVars) {
return uriString(uriTemplate).build(uriVars);
}
代码示例来源:origin: daggerok/spring-5-examples
@Bean RouterFunction<ServerResponse> routes() {
return
route(POST("/api/v1/register-guest"), request -> {
final String uuid = UUID.randomUUID().toString();
final URI uri = request.uriBuilder()
.path(uuid)
.build();
return created(uri).body(request.bodyToMono(Map.class)
.map(map -> map.get("name"))
.map(name -> {
log.info("create user {}", name);
return "";
}).subscribeOn(Schedulers.elastic()), String.class);
})
;
}
}
代码示例来源:origin: spring-cloud/spring-cloud-gateway
@Test
public void changeUriWorkWithCustomLogic() {
testClient.get()
.uri(b -> b.path("/")
.queryParam("url",
"http://localhost:" + port + "/actuator/health")
.build())
.header("Host", "www.changeuri.org").exchange().expectBody(JsonNode.class)
.consumeWith(r -> assertThat(r.getResponseBody().has("status")).isTrue());
}
代码示例来源:origin: org.springframework/spring-web
public URI expand(String uriTemplate, Map<String, ?> uriVars) {
return uriString(uriTemplate).build(uriVars);
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void uriBuilderWithPathOverride() {
this.builder.build().get()
.uri(builder -> builder.replacePath("/path").build())
.exchange();
ClientRequest request = verifyAndGetRequest();
assertEquals("/path", request.url().toString());
verifyNoMoreInteractions(this.exchangeFunction);
}
代码示例来源:origin: spring-projects/spring-data-elasticsearch
builder = builder.path(request.getEndpoint());
builder = builder.queryParam(entry.getKey(), entry.getValue());
return builder.build();
代码示例来源:origin: org.springframework/spring-web
public URI expand(String uriTemplate, Object... uriVars) {
return uriString(uriTemplate).build(uriVars);
}
代码示例来源:origin: com.holon-platform.reactor/holon-reactor-spring
requestDefinition.getRequestPath().ifPresent(path -> ub.path(path));
requestDefinition.getQueryParameters().forEach((n, v) -> ub.queryParam(n, v));
return ub.build(requestDefinition.getTemplateParameters());
}).headers(headers -> {
代码示例来源:origin: spring-projects/spring-framework
@Test
public void encodeTemplateAndValues() {
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory();
factory.setEncodingMode(EncodingMode.TEMPLATE_AND_VALUES);
UriBuilder uriBuilder = factory.uriString("/hotel list/{city} specials?q={value}");
String expected = "/hotel%20list/Z%C3%BCrich%20specials?q=a%2Bb";
Map<String, Object> vars = new HashMap<>();
vars.put("city", "Z\u00fcrich");
vars.put("value", "a+b");
assertEquals(expected, uriBuilder.build("Z\u00fcrich", "a+b").toString());
assertEquals(expected, uriBuilder.build(vars).toString());
}
代码示例来源:origin: graphql-java/graphql-java-spring
@Test
public void testGetRequest() throws Exception {
String variablesJson = "{\"variable\":\"variableValue\"}";
String variablesValue = URLEncoder.encode(variablesJson, "UTF-8");
String query = "query myQuery {foo}";
String queryString = URLEncoder.encode(query, "UTF-8");
String operationName = "myQuery";
ExecutionResultImpl executionResult = ExecutionResultImpl.newExecutionResult()
.data("bar")
.build();
CompletableFuture cf = CompletableFuture.completedFuture(executionResult);
ArgumentCaptor<ExecutionInput> captor = ArgumentCaptor.forClass(ExecutionInput.class);
Mockito.when(graphql.executeAsync(captor.capture())).thenReturn(cf);
client.get().uri(uriBuilder -> uriBuilder.path("/graphql")
.queryParam("variables", variablesValue)
.queryParam("query", queryString)
.queryParam("operationName", operationName)
.build(variablesJson, queryString))
.accept(MediaType.APPLICATION_JSON_UTF8)
.exchange()
.expectStatus().isOk()
.expectBody()
.jsonPath("data").isEqualTo("bar");
assertThat(captor.getAllValues().size(), is(1));
Map<String, Object> variables = new LinkedHashMap<>();
variables.put("variable", "variableValue");
assertThat(captor.getValue().getQuery(), is(query));
assertThat(captor.getValue().getVariables(), is(variables));
assertThat(captor.getValue().getOperationName(), is(operationName));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void encodingValuesOnly() {
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory();
factory.setEncodingMode(EncodingMode.VALUES_ONLY);
UriBuilder uriBuilder = factory.uriString("/foo/a%2Fb/{id}");
String id = "c/d";
String expected = "/foo/a%2Fb/c%2Fd";
assertEquals(expected, uriBuilder.build(id).toString());
assertEquals(expected, uriBuilder.build(singletonMap("id", id)).toString());
}
代码示例来源:origin: graphql-java/graphql-java-spring
@Test
public void testSimpleGetRequest() throws Exception {
String query = "{foo}";
String queryString = URLEncoder.encode(query, "UTF-8");
ExecutionResultImpl executionResult = ExecutionResultImpl.newExecutionResult()
.data("bar")
.build();
CompletableFuture cf = CompletableFuture.completedFuture(executionResult);
ArgumentCaptor<ExecutionInput> captor = ArgumentCaptor.forClass(ExecutionInput.class);
Mockito.when(graphql.executeAsync(captor.capture())).thenReturn(cf);
client.get().uri(uriBuilder -> uriBuilder.path("/graphql")
.queryParam("query", queryString)
.build())
.accept(MediaType.APPLICATION_JSON_UTF8)
.exchange()
.expectStatus().isOk()
.expectBody()
.jsonPath("data").isEqualTo("bar");
assertThat(captor.getAllValues().size(), is(1));
assertThat(captor.getValue().getQuery(), is(query));
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void encodingNone() {
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory();
factory.setEncodingMode(EncodingMode.NONE);
UriBuilder uriBuilder = factory.uriString("/foo/a%2Fb/{id}");
String id = "c%2Fd";
String expected = "/foo/a%2Fb/c%2Fd";
assertEquals(expected, uriBuilder.build(id).toString());
assertEquals(expected, uriBuilder.build(singletonMap("id", id)).toString());
}
代码示例来源:origin: spring-projects/spring-framework
@Test
public void defaultSettings() {
DefaultUriBuilderFactory factory = new DefaultUriBuilderFactory();
URI uri = factory.uriString("/foo/{id}").build("a/b");
assertEquals("/foo/a%2Fb", uri.toString());
}
内容来源于网络,如有侵权,请联系作者删除!