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

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

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

RestTemplate.setInterceptors介绍

暂无

代码示例

代码示例来源:origin: eugenp/tutorials

  1. public void setDebugging(boolean debugging) {
  2. List<ClientHttpRequestInterceptor> currentInterceptors = this.restTemplate.getInterceptors();
  3. if(debugging) {
  4. if (currentInterceptors == null) {
  5. currentInterceptors = new ArrayList<ClientHttpRequestInterceptor>();
  6. }
  7. ClientHttpRequestInterceptor interceptor = new ApiClientHttpRequestInterceptor();
  8. currentInterceptors.add(interceptor);
  9. this.restTemplate.setInterceptors(currentInterceptors);
  10. } else {
  11. if (currentInterceptors != null && !currentInterceptors.isEmpty()) {
  12. Iterator<ClientHttpRequestInterceptor> iter = currentInterceptors.iterator();
  13. while (iter.hasNext()) {
  14. ClientHttpRequestInterceptor interceptor = iter.next();
  15. if (interceptor instanceof ApiClientHttpRequestInterceptor) {
  16. iter.remove();
  17. }
  18. }
  19. this.restTemplate.setInterceptors(currentInterceptors);
  20. }
  21. }
  22. this.debugging = debugging;
  23. }

代码示例来源:origin: spring-cloud-incubator/spring-cloud-alibaba

  1. @PostConstruct
  2. public void init() {
  3. if (this.restTemplates != null) {
  4. for (RestTemplate restTemplate : restTemplates) {
  5. List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>(
  6. restTemplate.getInterceptors());
  7. interceptors.add(this.fescarRestTemplateInterceptor);
  8. restTemplate.setInterceptors(interceptors);
  9. }
  10. }
  11. }

代码示例来源:origin: stackoverflow.com

  1. RestTemplate restTemplate = new RestTemplate(new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory()));
  2. List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>();
  3. interceptors.add(new LoggingRequestInterceptor());
  4. restTemplate.setInterceptors(interceptors);

代码示例来源:origin: codingapi/tx-lcn

  1. @Override
  2. public void customize(RestTemplate restTemplate) {
  3. List<ClientHttpRequestInterceptor> list = new ArrayList<>(restTemplate.getInterceptors());
  4. if(loadBalancerInterceptor!=null) {
  5. list.add(0, loadBalancerInterceptor);
  6. }
  7. if(retryLoadBalancerInterceptor!=null){
  8. list.add(0, retryLoadBalancerInterceptor);
  9. }
  10. restTemplate.setInterceptors(list);
  11. }

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

  1. /** {@inheritDoc} */
  2. @Override
  3. public Object postProcessAfterInitialization(Object bean, String beanName) {
  4. // RestTemplate et getInterceptors() existent depuis spring-web 3.1.0.RELEASE
  5. if (REST_TEMPLATE_INTERCEPTOR_AVAILABLE && bean instanceof RestTemplate) {
  6. final RestTemplate restTemplate = (RestTemplate) bean;
  7. final List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>(
  8. restTemplate.getInterceptors());
  9. for (final ClientHttpRequestInterceptor interceptor : interceptors) {
  10. if (interceptor instanceof SpringRestTemplateInterceptor) {
  11. return bean;
  12. }
  13. }
  14. interceptors.add(SpringRestTemplateInterceptor.SINGLETON);
  15. restTemplate.setInterceptors(interceptors);
  16. }
  17. return bean;
  18. }

代码示例来源:origin: spring-cloud/spring-cloud-sleuth

  1. void inject(RestTemplate restTemplate) {
  2. if (hasTraceInterceptor(restTemplate)) {
  3. return;
  4. }
  5. List<ClientHttpRequestInterceptor> interceptors = new ArrayList<ClientHttpRequestInterceptor>(
  6. restTemplate.getInterceptors());
  7. interceptors.add(0, this.interceptor);
  8. restTemplate.setInterceptors(interceptors);
  9. }

代码示例来源:origin: openzipkin/brave

  1. @Override protected RestTemplate newClient(HttpTracing httpTracing) {
  2. OkHttp3ClientHttpRequestFactory factory = new OkHttp3ClientHttpRequestFactory(ok);
  3. RestTemplate result = new RestTemplate(factory);
  4. result.setInterceptors(Collections.singletonList(
  5. TracingClientHttpRequestInterceptor.create(httpTracing
  6. )));
  7. return result;
  8. }

代码示例来源:origin: stackoverflow.com

  1. RestTemplate rt = new RestTemplate();
  2. //set interceptors/requestFactory
  3. ClientHttpRequestInterceptor ri = new LoggingRequestInterceptor();
  4. List<ClientHttpRequestInterceptor> ris = new ArrayList<ClientHttpRequestInterceptor>();
  5. ris.add(ri);
  6. rt.setInterceptors(ris);
  7. rt.setRequestFactory(new BufferingClientHttpRequestFactory(new SimpleClientHttpRequestFactory());

代码示例来源:origin: QNJR-GROUP/EasyTransaction

  1. private void init(ApplicationContext ctx) {
  2. loadBalancedRestTemplate = new RestTemplate();
  3. SpringClientFactory springClientFactory = springClientFactory();
  4. springClientFactory.setApplicationContext(ctx);
  5. loadBalancerClient = new RibbonLoadBalancerClient(springClientFactory);
  6. //custom restTemplate
  7. LoadBalancerRequestFactory requestFactory = new LoadBalancerRequestFactory(loadBalancerClient, Collections.emptyList());
  8. LoadBalancerInterceptor interceptor = new LoadBalancerInterceptor(loadBalancerClient, requestFactory);
  9. List<ClientHttpRequestInterceptor> interceptors = loadBalancedRestTemplate.getInterceptors();
  10. ArrayList<ClientHttpRequestInterceptor> customedInterceptors = new ArrayList<>(interceptors.size() + 1);
  11. customedInterceptors.addAll(interceptors);
  12. customedInterceptors.add(interceptor);
  13. loadBalancedRestTemplate.setInterceptors(customedInterceptors);
  14. }

代码示例来源:origin: spring-cloud/spring-cloud-config

  1. private RestTemplate getSecureRestTemplate(ConfigClientProperties client) {
  2. SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
  3. if (client.getRequestReadTimeout() < 0) {
  4. throw new IllegalStateException("Invalid Value for Read Timeout set.");
  5. }
  6. requestFactory.setReadTimeout(client.getRequestReadTimeout());
  7. RestTemplate template = new RestTemplate(requestFactory);
  8. Map<String, String> headers = new HashMap<>(client.getHeaders());
  9. if (headers.containsKey(AUTHORIZATION)) {
  10. headers.remove(AUTHORIZATION); // To avoid redundant addition of header
  11. }
  12. if (!headers.isEmpty()) {
  13. template.setInterceptors(Arrays.<ClientHttpRequestInterceptor> asList(
  14. new GenericRequestHeaderInterceptor(headers)));
  15. }
  16. return template;
  17. }

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

  1. protected RestOperations getRestTemplate() {
  2. if (restTemplate == null) {
  3. synchronized (this) {
  4. if (restTemplate == null) {
  5. RestTemplate restTemplate = new RestTemplate();
  6. restTemplate.setErrorHandler(getResponseErrorHandler());
  7. restTemplate.setRequestFactory(requestFactory);
  8. restTemplate.setInterceptors(interceptors);
  9. this.restTemplate = restTemplate;
  10. }
  11. }
  12. }
  13. if (messageConverters == null) {
  14. setMessageConverters(new RestTemplate().getMessageConverters());
  15. }
  16. return restTemplate;
  17. }

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

  1. @Test // SPR-15066
  2. public void requestInterceptorCanAddExistingHeaderValueWithoutBody() throws Exception {
  3. ClientHttpRequestInterceptor interceptor = (request, body, execution) -> {
  4. request.getHeaders().add("MyHeader", "MyInterceptorValue");
  5. return execution.execute(request, body);
  6. };
  7. template.setInterceptors(Collections.singletonList(interceptor));
  8. HttpHeaders requestHeaders = new HttpHeaders();
  9. mockSentRequest(POST, "http://example.com", requestHeaders);
  10. mockResponseStatus(HttpStatus.OK);
  11. HttpHeaders entityHeaders = new HttpHeaders();
  12. entityHeaders.add("MyHeader", "MyEntityValue");
  13. HttpEntity<Void> entity = new HttpEntity<>(null, entityHeaders);
  14. template.exchange("http://example.com", POST, entity, Void.class);
  15. assertThat(requestHeaders.get("MyHeader"), contains("MyEntityValue", "MyInterceptorValue"));
  16. verify(response).close();
  17. }

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

  1. @Test // SPR-15066
  2. public void requestInterceptorCanAddExistingHeaderValueWithBody() throws Exception {
  3. ClientHttpRequestInterceptor interceptor = (request, body, execution) -> {
  4. request.getHeaders().add("MyHeader", "MyInterceptorValue");
  5. return execution.execute(request, body);
  6. };
  7. template.setInterceptors(Collections.singletonList(interceptor));
  8. MediaType contentType = MediaType.TEXT_PLAIN;
  9. given(converter.canWrite(String.class, contentType)).willReturn(true);
  10. HttpHeaders requestHeaders = new HttpHeaders();
  11. mockSentRequest(POST, "http://example.com", requestHeaders);
  12. mockResponseStatus(HttpStatus.OK);
  13. HttpHeaders entityHeaders = new HttpHeaders();
  14. entityHeaders.setContentType(contentType);
  15. entityHeaders.add("MyHeader", "MyEntityValue");
  16. HttpEntity<String> entity = new HttpEntity<>("Hello World", entityHeaders);
  17. template.exchange("http://example.com", POST, entity, Void.class);
  18. assertThat(requestHeaders.get("MyHeader"), contains("MyEntityValue", "MyInterceptorValue"));
  19. verify(response).close();
  20. }

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

  1. @Test // SPR-14694
  2. public void repeatedAccessToResponseViaResource() {
  3. Resource resource = new ClassPathResource("ludwig.json", this.getClass());
  4. RestTemplate restTemplate = new RestTemplate();
  5. restTemplate.setInterceptors(Collections.singletonList(new ContentInterceptor(resource)));
  6. MockRestServiceServer mockServer = MockRestServiceServer.bindTo(restTemplate)
  7. .ignoreExpectOrder(true)
  8. .bufferContent() // enable repeated reads of response body
  9. .build();
  10. mockServer.expect(requestTo("/composers/42")).andExpect(method(HttpMethod.GET))
  11. .andRespond(withSuccess(resource, MediaType.APPLICATION_JSON));
  12. restTemplate.getForObject("/composers/{id}", Person.class, 42);
  13. mockServer.verify();
  14. }

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

  1. @Override
  2. public void setInterceptors(List<ClientHttpRequestInterceptor> interceptors) {
  3. super.setInterceptors(interceptors);
  4. defaultRestTemplate.setInterceptors(interceptors);
  5. }

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

  1. @Bean
  2. @ConditionalOnMissingBean
  3. public RestTemplateCustomizer restTemplateCustomizer(
  4. final LoadBalancerInterceptor loadBalancerInterceptor) {
  5. return restTemplate -> {
  6. List<ClientHttpRequestInterceptor> list = new ArrayList<>(
  7. restTemplate.getInterceptors());
  8. list.add(loadBalancerInterceptor);
  9. restTemplate.setInterceptors(list);
  10. };
  11. }
  12. }

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

  1. @Bean
  2. @ConditionalOnMissingBean
  3. public RestTemplateCustomizer restTemplateCustomizer(
  4. final RetryLoadBalancerInterceptor loadBalancerInterceptor) {
  5. return restTemplate -> {
  6. List<ClientHttpRequestInterceptor> list = new ArrayList<>(
  7. restTemplate.getInterceptors());
  8. list.add(loadBalancerInterceptor);
  9. restTemplate.setInterceptors(list);
  10. };
  11. }
  12. }

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

  1. @Bean(name = "omegaRestTemplate")
  2. public RestTemplate omegaRestTemplate(@Autowired(required=false) OmegaContext context) {
  3. RestTemplate template = new RestTemplate();
  4. List<ClientHttpRequestInterceptor> interceptors = template.getInterceptors();
  5. interceptors.add(new TransactionClientHttpRequestInterceptor(context));
  6. template.setInterceptors(interceptors);
  7. return template;
  8. }
  9. }

代码示例来源: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.apache.servicecomb/provider-springmvc

  1. @Override
  2. public void setInterceptors(List<ClientHttpRequestInterceptor> interceptors) {
  3. super.setInterceptors(interceptors);
  4. defaultRestTemplate.setInterceptors(interceptors);
  5. }

相关文章