org.springframework.web.client.RestTemplate.setUriTemplateHandler()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(8.8k)|赞(0)|评价(0)|浏览(218)

本文整理了Java中org.springframework.web.client.RestTemplate.setUriTemplateHandler方法的一些代码示例,展示了RestTemplate.setUriTemplateHandler的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。RestTemplate.setUriTemplateHandler方法的具体详情如下:
包路径:org.springframework.web.client.RestTemplate
类名称:RestTemplate
方法名:setUriTemplateHandler

RestTemplate.setUriTemplateHandler介绍

[英]Configure a strategy for expanding URI templates.

By default, DefaultUriBuilderFactory is used and for backwards compatibility, the encoding mode is set to EncodingMode#URI_COMPONENT. As of 5.0.8, prefer using EncodingMode#TEMPLATE_AND_VALUES.

Note: in 5.0 the switch from org.springframework.web.util.DefaultUriTemplateHandler (deprecated in 4.3), as the default to use, to DefaultUriBuilderFactory brings in a different default for the parsePath property (switching from false to true).
[中]配置扩展URI模板的策略。
默认情况下,使用DefaultUriBuilderFactory,为了向后兼容,编码模式设置为EncodingMode#URI_COMPONENT。从5.0.8开始,更喜欢使用编码模式#模板_和_值。
注意:在5.0中,从org切换。springframework。网状物util。DefaultUriTemplateHandler(在4.3中已弃用)作为DefaultUriBuilderFactory的默认值,为parsePath属性引入了不同的默认值(从false切换为true)。

代码示例

代码示例来源:origin: spring-projects/spring-framework

  1. /**
  2. * This property has the same purpose as the corresponding property on the
  3. * {@code RestTemplate}. For more details see
  4. * {@link RestTemplate#setUriTemplateHandler}.
  5. * @param handler the URI template handler to use
  6. */
  7. public void setUriTemplateHandler(UriTemplateHandler handler) {
  8. this.syncTemplate.setUriTemplateHandler(handler);
  9. }

代码示例来源:origin: org.springframework/spring-web

  1. /**
  2. * This property has the same purpose as the corresponding property on the
  3. * {@code RestTemplate}. For more details see
  4. * {@link RestTemplate#setUriTemplateHandler}.
  5. * @param handler the URI template handler to use
  6. */
  7. public void setUriTemplateHandler(UriTemplateHandler handler) {
  8. this.syncTemplate.setUriTemplateHandler(handler);
  9. }

代码示例来源:origin: org.springframework.boot/spring-boot

  1. /**
  2. * Add a {@link RootUriTemplateHandler} instance to the given {@link RestTemplate}.
  3. * @param restTemplate the {@link RestTemplate} to add the handler to
  4. * @param rootUri the root URI
  5. * @return the added {@link RootUriTemplateHandler}.
  6. */
  7. public static RootUriTemplateHandler addTo(RestTemplate restTemplate,
  8. String rootUri) {
  9. Assert.notNull(restTemplate, "RestTemplate must not be null");
  10. RootUriTemplateHandler handler = new RootUriTemplateHandler(rootUri,
  11. restTemplate.getUriTemplateHandler());
  12. restTemplate.setUriTemplateHandler(handler);
  13. return handler;
  14. }

代码示例来源:origin: org.springframework.boot/spring-boot

  1. restTemplate.setUriTemplateHandler(this.uriTemplateHandler);

代码示例来源:origin: spring-projects/spring-framework

  1. @Test
  2. public void getForObjectWithCustomUriTemplateHandler() throws Exception {
  3. DefaultUriBuilderFactory uriTemplateHandler = new DefaultUriBuilderFactory();
  4. template.setUriTemplateHandler(uriTemplateHandler);
  5. mockSentRequest(GET, "http://example.com/hotels/1/pic/pics%2Flogo.png/size/150x150");
  6. mockResponseStatus(HttpStatus.OK);
  7. given(response.getHeaders()).willReturn(new HttpHeaders());
  8. given(response.getBody()).willReturn(StreamUtils.emptyInput());
  9. Map<String, String> uriVariables = new HashMap<>(2);
  10. uriVariables.put("hotel", "1");
  11. uriVariables.put("publicpath", "pics/logo.png");
  12. uriVariables.put("scale", "150x150");
  13. String url = "http://example.com/hotels/{hotel}/pic/{publicpath}/size/{scale}";
  14. template.getForObject(url, String.class, uriVariables);
  15. verify(response).close();
  16. }

代码示例来源:origin: apache/servicecomb-java-chassis

  1. @Override
  2. public void setUriTemplateHandler(UriTemplateHandler handler) {
  3. super.setUriTemplateHandler(handler);
  4. defaultRestTemplate.setUriTemplateHandler(handler);
  5. }

代码示例来源:origin: org.springframework.boot/spring-boot-actuator

  1. @Override
  2. public void customize(RestTemplate restTemplate) {
  3. UriTemplateHandler templateHandler = restTemplate.getUriTemplateHandler();
  4. templateHandler = this.interceptor.createUriTemplateHandler(templateHandler);
  5. restTemplate.setUriTemplateHandler(templateHandler);
  6. List<ClientHttpRequestInterceptor> existingInterceptors = restTemplate
  7. .getInterceptors();
  8. if (!existingInterceptors.contains(this.interceptor)) {
  9. List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
  10. interceptors.add(this.interceptor);
  11. interceptors.addAll(existingInterceptors);
  12. restTemplate.setInterceptors(interceptors);
  13. }
  14. }

代码示例来源:origin: org.springframework.boot/spring-boot-test

  1. /**
  2. * Configure the {@link UriTemplateHandler} to use to expand URI templates. By default
  3. * the {@link DefaultUriBuilderFactory} is used which relies on Spring's URI template
  4. * support and exposes several useful properties that customize its behavior for
  5. * encoding and for prepending a common base URL. An alternative implementation may be
  6. * used to plug an external URI template library.
  7. * @param handler the URI template handler to use
  8. */
  9. public void setUriTemplateHandler(UriTemplateHandler handler) {
  10. this.restTemplate.setUriTemplateHandler(handler);
  11. }

代码示例来源:origin: org.apache.servicecomb/provider-springmvc

  1. @Override
  2. public void setUriTemplateHandler(UriTemplateHandler handler) {
  3. super.setUriTemplateHandler(handler);
  4. defaultRestTemplate.setUriTemplateHandler(handler);
  5. }

代码示例来源:origin: org.apache.servicemix.bundles/org.apache.servicemix.bundles.spring-web

  1. /**
  2. * This property has the same purpose as the corresponding property on the
  3. * {@code RestTemplate}. For more details see
  4. * {@link RestTemplate#setUriTemplateHandler}.
  5. * @param handler the URI template handler to use
  6. */
  7. public void setUriTemplateHandler(UriTemplateHandler handler) {
  8. this.syncTemplate.setUriTemplateHandler(handler);
  9. }

代码示例来源:origin: io.servicecomb/provider-springmvc

  1. @Override
  2. public void setUriTemplateHandler(UriTemplateHandler handler) {
  3. super.setUriTemplateHandler(handler);
  4. defaultRestTemplate.setUriTemplateHandler(handler);
  5. }

代码示例来源:origin: apache/servicemix-bundles

  1. /**
  2. * This property has the same purpose as the corresponding property on the
  3. * {@code RestTemplate}. For more details see
  4. * {@link RestTemplate#setUriTemplateHandler}.
  5. * @param handler the URI template handler to use
  6. */
  7. public void setUriTemplateHandler(UriTemplateHandler handler) {
  8. this.syncTemplate.setUriTemplateHandler(handler);
  9. }

代码示例来源:origin: FastBootWeixin/FastBootWeixin

  1. public void setUriTemplateHandler(UriTemplateHandler handler) {
  2. restTemplate.setUriTemplateHandler(handler);
  3. }

代码示例来源:origin: io.micrometer/micrometer-spring-legacy

  1. @Override
  2. public void customize(RestTemplate restTemplate) {
  3. UriTemplateHandler templateHandler = restTemplate.getUriTemplateHandler();
  4. templateHandler = this.interceptor.createUriTemplateHandler(templateHandler);
  5. restTemplate.setUriTemplateHandler(templateHandler);
  6. List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
  7. interceptors.add(this.interceptor);
  8. interceptors.addAll(restTemplate.getInterceptors());
  9. restTemplate.setInterceptors(interceptors);
  10. }

代码示例来源:origin: spring-io/bomr

  1. @Override
  2. public GitHubRepository getRepository(String organization, String name) {
  3. RestTemplate restTemplate = new RestTemplate();
  4. restTemplate.getInterceptors().add(new ClientHttpRequestInterceptor() {
  5. @Override
  6. public ClientHttpResponse intercept(HttpRequest request, byte[] body,
  7. ClientHttpRequestExecution execution) throws IOException {
  8. request.getHeaders().add("User-Agent", StandardGitHub.this.username);
  9. request.getHeaders()
  10. .add("Authorization",
  11. "Basic " + Base64.getEncoder()
  12. .encodeToString((StandardGitHub.this.username
  13. + ":" + StandardGitHub.this.password)
  14. .getBytes()));
  15. request.getHeaders().add("Accept", MediaType.APPLICATION_JSON_VALUE);
  16. return execution.execute(request, body);
  17. }
  18. });
  19. UriTemplateHandler uriTemplateHandler = new DefaultUriBuilderFactory(
  20. "https://api.github.com/repos/" + organization + "/" + name + "/");
  21. restTemplate.setUriTemplateHandler(uriTemplateHandler);
  22. return new StandardGitHubRepository(restTemplate);
  23. }

代码示例来源:origin: griddynamics/jagger

  1. restTemplate.setUriTemplateHandler((UriTemplateHandler) clientParams.get(URI_TEMPLATE_HANDLER.value));

代码示例来源:origin: org.springframework.vault/spring-vault-core

  1. /**
  2. * Create a {@link RestTemplate} configured with {@link VaultEndpointProvider} and
  3. * {@link ClientHttpRequestFactory}. The template accepts relative URIs without a
  4. * leading slash that are expanded to use {@link VaultEndpoint}. {@link RestTemplate}
  5. * is configured with a {@link ClientHttpRequestInterceptor} to enforce serialization
  6. * to a byte array prior continuing the request. Eager serialization leads to a known
  7. * request body size that is required to send a
  8. * {@link org.springframework.http.HttpHeaders#CONTENT_LENGTH} request header.
  9. * Otherwise, Vault will deny body processing.
  10. * <p>
  11. * Requires Jackson 2 for Object-to-JSON mapping.
  12. *
  13. * @param endpointProvider must not be {@literal null}.
  14. * @param requestFactory must not be {@literal null}.
  15. * @return the {@link RestTemplate}.
  16. * @see org.springframework.http.client.Netty4ClientHttpRequestFactory
  17. * @see MappingJackson2HttpMessageConverter
  18. * @since 1.1
  19. */
  20. public static RestTemplate createRestTemplate(VaultEndpointProvider endpointProvider,
  21. ClientHttpRequestFactory requestFactory) {
  22. RestTemplate restTemplate = createRestTemplate();
  23. restTemplate.setRequestFactory(requestFactory);
  24. restTemplate.setUriTemplateHandler(createUriBuilderFactory(endpointProvider));
  25. return restTemplate;
  26. }

相关文章