类org.springframework.boot.web.client.RestTemplateBuilder源码实例Demo

下面列出了怎么用org.springframework.boot.web.client.RestTemplateBuilder的API类实例代码及写法,或者点击链接到github查看源代码。

@Bean
@Lazy
@ConditionalOnMissingBean
public RestTemplateBuilder restTemplateBuilder(ObjectProvider<HttpMessageConverters> messageConverters,
                                               ObjectProvider<RestTemplateCustomizer> restTemplateCustomizers,
                                               ObjectProvider<RestTemplateRequestCustomizer<?>> restTemplateRequestCustomizers,
                                               OkHttpClient okHttpClient) {
    RestTemplateBuilder builder = new RestTemplateBuilder();
    HttpMessageConverters converters = messageConverters.getIfUnique();
    if (converters != null) {
        builder = builder.messageConverters(converters.getConverters());
    }
    builder = addCustomizers(builder, restTemplateCustomizers, RestTemplateBuilder::customizers);
    builder = addCustomizers(builder, restTemplateRequestCustomizers, RestTemplateBuilder::requestCustomizers);

    builder = builder.requestFactory(() -> new OkHttp3ClientHttpRequestFactory(okHttpClient));

    return builder;
}
 
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
    // configure a net binding instance
    Net mongoNet = this.getMongoNet();

    // register some autowire-able dependencies, to make leveraging the configured instances in a test possible
    applicationContext.getBeanFactory().registerResolvableDependency(RestTemplateBuilder.class, this.getRestTemplateBuilder());
    applicationContext.getBeanFactory().registerResolvableDependency(Net.class, mongoNet);
    applicationContext.getBeanFactory().registerResolvableDependency(MongodExecutable.class, this.getMongo(mongoNet));

    // configure the property sources that will be used by the application
    MutablePropertySources propertySources = applicationContext.getEnvironment().getPropertySources();
    MockPropertySource mockEnvVars = new MockPropertySource()
            .withProperty(Constants.ENV_DB_NAME, this.getDbName())
            .withProperty(Constants.ENV_DB_CONNSTR, "mongodb://localhost:" + mongoNet.getPort())
            .withProperty(Constants.ENV_ALLOWED_ORIGIN, this.getAllowedOrigin())
            .withProperty(Constants.ENV_EXCLUDE_FILTER, String.join(",", this.getExcludeList()));

    // inject the property sources into the application as environment variables
    propertySources.replace(StandardEnvironment.SYSTEM_ENVIRONMENT_PROPERTY_SOURCE_NAME, mockEnvVars);
}
 
@Bean
@Lazy
@ConditionalOnMissingBean
public RestTemplateBuilder restTemplateBuilder(ObjectProvider<HttpMessageConverters> messageConverters,
                                               ObjectProvider<RestTemplateCustomizer> restTemplateCustomizers,
                                               ObjectProvider<RestTemplateRequestCustomizer<?>> restTemplateRequestCustomizers,
                                               OkHttpClient okHttpClient) {
    RestTemplateBuilder builder = new RestTemplateBuilder();
    HttpMessageConverters converters = messageConverters.getIfUnique();
    if (converters != null) {
        builder = builder.messageConverters(converters.getConverters());
    }
    builder = addCustomizers(builder, restTemplateCustomizers, RestTemplateBuilder::customizers);
    builder = addCustomizers(builder, restTemplateRequestCustomizers, RestTemplateBuilder::requestCustomizers);

    builder = builder.requestFactory(() -> new OkHttp3ClientHttpRequestFactory(okHttpClient));

    return builder;
}
 
源代码4 项目: waggle-dance   文件: WaggleDanceIntegrationTest.java
@Test
public void metastoreTunnelConfiguration() throws Exception {
  String route = "[email protected] -> [email protected]";
  String privateKeys = "/home/user/.ssh/bastion-key-pair.pem,/home/user/.ssh/emr-key-pair.pem";
  String knownHosts = "/home/user/.ssh/known_hosts";
  runner = WaggleDanceRunner
      .builder(configLocation)
      .primary("primary", localServer.getThriftConnectionUri(), READ_ONLY)
      .federateWithMetastoreTunnel(SECONDARY_METASTORE_NAME, remoteServer.getThriftConnectionUri(), REMOTE_DATABASE,
          route, privateKeys, knownHosts)
      .build();

  runWaggleDance(runner);
  RestTemplate rest = new RestTemplateBuilder().build();
  FederatedMetaStore federatedMetastore = rest
      .getForObject(
          "http://localhost:" + runner.getRestApiPort() + "/api/admin/federations/" + SECONDARY_METASTORE_NAME,
          FederatedMetaStore.class);

  MetastoreTunnel metastoreTunnel = federatedMetastore.getMetastoreTunnel();
  assertThat(metastoreTunnel.getRoute(), is(route));
  assertThat(metastoreTunnel.getKnownHosts(), is(knownHosts));
  assertThat(metastoreTunnel.getPrivateKeys(), is(privateKeys));
}
 
源代码5 项目: training   文件: Oauth2ClientApplication.java
@Bean
RestTemplate restTemplate(OAuth2AuthorizedClientService clientService) {
		return new RestTemplateBuilder()
			.interceptors((ClientHttpRequestInterceptor) (httpRequest, bytes, execution) -> {

					OAuth2AuthenticationToken token = OAuth2AuthenticationToken.class.cast(
						SecurityContextHolder.getContext().getAuthentication());

					OAuth2AuthorizedClient client = clientService.loadAuthorizedClient(
						token.getAuthorizedClientRegistrationId(),
						token.getName());

					httpRequest.getHeaders().add(HttpHeaders.AUTHORIZATION, "Bearer " + client.getAccessToken().getTokenValue());

					return execution.execute(httpRequest, bytes);
			})
			.build();
}
 
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) throws Exception {

    SSLContext sslContext = SSLContextBuilder
            .create()
            .loadKeyMaterial(ResourceUtils.getFile("classpath:keystore.jks"), allPassword, allPassword)
            .loadTrustMaterial(ResourceUtils.getFile("classpath:truststore.jks"), allPassword)
            .build();

    HttpClient client = HttpClients.custom()
            .setSSLContext(sslContext)
            .build();

    return builder
            .requestFactory(new HttpComponentsClientHttpRequestFactory(client))
            .build();
}
 
private void configureService(StatsProperties properties) {
	ProjectRequestDocumentFactory documentFactory = new ProjectRequestDocumentFactory();
	this.retryTemplate = new RetryTemplate();
	this.statPublisher = new ProjectGenerationStatPublisher(documentFactory, properties, new RestTemplateBuilder(),
			this.retryTemplate);
	this.mockServer = MockRestServiceServer.createServer(this.statPublisher.getRestTemplate());
}
 
源代码8 项目: Milkomeda   文件: EchoConfig.java
@Bean("echoRestTemplate")
@SuppressWarnings("SpringJavaInjectionPointsAutowiringInspection")
public RestTemplate simpleRestTemplate(RestTemplateBuilder builder) {
    RestTemplate restTemplate = builder.build();
    restTemplate.setRequestFactory(clientHttpRequestFactory());
    // 自定义错误处理
    restTemplate.setErrorHandler(new EchoResponseErrorHandler());
    return restTemplate;
}
 
public ProjectGenerationStatPublisher(ProjectRequestDocumentFactory documentFactory,
		StatsProperties statsProperties, RestTemplateBuilder restTemplateBuilder, RetryTemplate retryTemplate) {
	this.documentFactory = documentFactory;
	this.objectMapper = createObjectMapper();
	StatsProperties.Elastic elastic = statsProperties.getElastic();
	UriComponentsBuilder uriBuilder = UriComponentsBuilder.fromUri(determineEntityUrl(elastic));
	this.restTemplate = configureAuthorization(restTemplateBuilder, elastic, uriBuilder).build();
	this.requestUrl = uriBuilder.userInfo(null).build().toUri();
	this.retryTemplate = retryTemplate;
}
 
源代码10 项目: tutorials   文件: TestRestTemplateBasicLiveTest.java
@Test
public void givenRestTemplateWrapperWithCredentials_whenSendGetForEntity_thenStatusOk() {
    RestTemplateBuilder restTemplateBuilder = new RestTemplateBuilder();
    restTemplateBuilder.configure(restTemplate);
    TestRestTemplate testRestTemplate = new TestRestTemplate(restTemplateBuilder, "user", "passwd");
    ResponseEntity<String> response = testRestTemplate.getForEntity(URL_SECURED_BY_AUTHENTICATION,
            String.class);
    assertThat(response.getStatusCode(), equalTo(HttpStatus.OK));
}
 
源代码11 项目: sfg-blog-posts   文件: RestTemplateConfig.java
@Bean
public RestTemplate restTemplate() {
  return new RestTemplateBuilder()
          .requestFactory(this::clientHttpRequestFactory)
          .errorHandler(new CustomClientErrorHandler())
          .interceptors(new CustomClientHttpRequestInterceptor())
          .build();
}
 
@Bean
RestTemplate restTemplateWithConnectReadTimeout() {
    return new RestTemplateBuilder()
        .setConnectTimeout(Duration.ofMillis(TIMEOUT))
        .setReadTimeout(Duration.ofMillis(TIMEOUT))
        .build();
}
 
private RestTemplateBuilder initRestTemplateBuilder(RestTemplateBuilder builder) {
	StringHttpMessageConverter octetToStringMessageConverter = new StringHttpMessageConverter();
	List<MediaType> mediaTypeList = new ArrayList(octetToStringMessageConverter.getSupportedMediaTypes());
	mediaTypeList.add(MediaType.APPLICATION_OCTET_STREAM);
	octetToStringMessageConverter.setSupportedMediaTypes(mediaTypeList);

	return builder.additionalMessageConverters(octetToStringMessageConverter);
}
 
public GithubService(RestTemplateBuilder builder, ApplicationProperties properties) {
	String username = properties.getGithub().getUsername();
	String password = properties.getGithub().getPassword();
	if (StringUtils.hasLength(username)) {
		builder = builder.basicAuthentication(username, password);
	}
	builder = builder.rootUri(properties.getGithub().getApiUrl());
	this.restTemplate = builder.build();
}
 
源代码15 项目: apm-agent-java   文件: SpringBoot1_5IT.java
@Before
public void setUp() {
    MockTracer.MockInstrumentationSetup mockInstrumentationSetup = MockTracer.getOrCreateInstrumentationTracer();
    config = mockInstrumentationSetup.getConfig();
    reporter = mockInstrumentationSetup.getReporter();
    ElasticApmAgent.initInstrumentation(mockInstrumentationSetup.getTracer(), ByteBuddyAgent.install());
    restTemplate = new TestRestTemplate(new RestTemplateBuilder().setConnectTimeout(0).setReadTimeout(0));
}
 
源代码16 项目: n2o-framework   文件: N2oEngineConfiguration.java
@Bean
@ConditionalOnMissingBean(name = "restDataProviderEngine")
public SpringRestDataProviderEngine restDataProviderEngine(RestTemplateBuilder builder) {
    ObjectMapper restObjectMapper = restObjectMapper();
    SpringRestDataProviderEngine springRestDataProviderEngine = new SpringRestDataProviderEngine(
            restTemplate(builder, httpMessageConverter(restObjectMapper)),
            restObjectMapper);
    springRestDataProviderEngine.setBaseRestUrl(baseRestUrl);
    return springRestDataProviderEngine;
}
 
源代码17 项目: java-specialagent   文件: SpringWebFluxTest.java
@BeforeClass
public static void beforeClass() {
  APPLICATION_CONTEXT.registerBean("jettyReactiveWebServerFactory", JettyReactiveWebServerFactory.class, () -> new JettyReactiveWebServerFactory(0));
  APPLICATION_CONTEXT.registerBean("httpHandler", HttpHandler.class, () -> WebHttpHandlerBuilder.applicationContext(APPLICATION_CONTEXT).build());
  APPLICATION_CONTEXT.registerBean("webHandler", WebHandler.class, () -> SpringWebFluxTest::handler);
  APPLICATION_CONTEXT.refresh();

  final int serverPort = APPLICATION_CONTEXT.getWebServer().getPort();
  testRestTemplate = new TestRestTemplate(new RestTemplateBuilder().rootUri("http://127.0.0.1:" + serverPort));
}
 
源代码18 项目: servicecomb-pack   文件: RestTemplateConfig.java
@Bean(name = "omegaRestTemplate")
public RestTemplate omegaRestTemplate(@Autowired(required = false) OmegaContext context,
    RestTemplateBuilder restTemplateBuilder) {
  return restTemplateBuilder
      .additionalInterceptors(new TransactionClientHttpRequestInterceptor(context))
      .build();
}
 
源代码19 项目: tutorials   文件: TestRestTemplateBasicLiveTest.java
@Test
public void givenRestTemplateWrapper_whenSendGetForEntity_thenStatusOk() {
    RestTemplateBuilder restTemplateBuilder = new RestTemplateBuilder();
    restTemplateBuilder.configure(restTemplate);
    TestRestTemplate testRestTemplate = new TestRestTemplate(restTemplateBuilder);
    ResponseEntity<String> response = testRestTemplate.getForEntity(FOO_RESOURCE_URL + "/1", String.class);
    assertThat(response.getStatusCode(), equalTo(HttpStatus.OK));
}
 
private static RestTemplateBuilder configureAuthorization(RestTemplateBuilder restTemplateBuilder, Elastic elastic,
		UriComponentsBuilder uriComponentsBuilder) {
	String userInfo = uriComponentsBuilder.build().getUserInfo();
	if (StringUtils.hasText(userInfo)) {
		String[] credentials = userInfo.split(":");
		return restTemplateBuilder.basicAuthentication(credentials[0], credentials[1]);
	}
	else if (StringUtils.hasText(elastic.getUsername())) {
		return restTemplateBuilder.basicAuthentication(elastic.getUsername(), elastic.getPassword());
	}
	return restTemplateBuilder;
}
 
源代码21 项目: tutorials   文件: TestRestTemplateBasicLiveTest.java
@Test
public void givenRestTemplateWrapper_whenSendGetForEntity_thenStatusOk() {
    RestTemplateBuilder restTemplateBuilder = new RestTemplateBuilder();
    restTemplateBuilder.configure(restTemplate);
    TestRestTemplate testRestTemplate = new TestRestTemplate(restTemplateBuilder);
    ResponseEntity<Foo> response = testRestTemplate.getForEntity(FOO_RESOURCE_URL + "/1", Foo.class);
    assertThat(response.getStatusCode(), equalTo(HttpStatus.OK));
}
 
源代码22 项目: springbootexamples   文件: RestTemplateConfig.java
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
	//return builder.build();
	return builder
			.setConnectTimeout(Duration.ofMillis(100))
			.setReadTimeout(Duration.ofMillis(500))
			.requestFactory(this::requestFactory)
			.build();
}
 
源代码23 项目: springbootexamples   文件: RestTemplateConfig.java
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
	//return builder.build();
	return builder
			.setConnectTimeout(Duration.ofMillis(100))
			.setReadTimeout(Duration.ofMillis(500))
			.requestFactory(this::requestFactory)
			.build();
}
 
源代码24 项目: sms   文件: LinkSMSConfig.java
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
	return builder
			.rootUri(baseUrl)
			.messageConverters(formHttpMessageConverter(), stringHttpMessageConverter())
			.build();
}
 
@Bean
@ConditionalOnMissingBean
public BlockingRegistrationClient registrationClient(ClientProperties client) {
	RestTemplateBuilder builder = new RestTemplateBuilder().setConnectTimeout(client.getConnectTimeout())
			.setReadTimeout(client.getReadTimeout());
	if (client.getUsername() != null && client.getPassword() != null) {
		builder = builder.basicAuthentication(client.getUsername(), client.getPassword());
	}
	return new BlockingRegistrationClient(builder.build());
}
 
源代码26 项目: MicroCommunity   文件: ApiApplicationStart.java
/**
 * 实例化RestTemplate
 *
 * @return restTemplate
 */
@Bean
public RestTemplate outRestTemplate() {
    StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
    RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
    return restTemplate;
}
 
/**
 * 实例化RestTemplate
 *
 * @return restTemplate
 */
@Bean
public com.java110.core.client.RestTemplate outRestTemplate() {
    StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
    com.java110.core.client.RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(com.java110.core.client.RestTemplate.class);
    return restTemplate;
}
 
/**
 * 实例化RestTemplate
 *
 * @return restTemplate
 */
@Bean
public com.java110.core.client.RestTemplate outRestTemplate() {
    StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
    com.java110.core.client.RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(com.java110.core.client.RestTemplate.class);
    return restTemplate;
}
 
源代码29 项目: tutorials   文件: TestRestTemplateBasicLiveTest.java
@Test
public void givenRestTemplateBuilderWrapper_whenSendGetForEntity_thenStatusOk() {
    RestTemplateBuilder restTemplateBuilder = new RestTemplateBuilder();
    restTemplateBuilder.build();
    TestRestTemplate testRestTemplate = new TestRestTemplate(restTemplateBuilder);
    ResponseEntity<String> response = testRestTemplate.getForEntity(FOO_RESOURCE_URL + "/1", String.class);
    assertThat(response.getStatusCode(), equalTo(HttpStatus.OK));
}
 
源代码30 项目: genie   文件: ApisAutoConfigurationTest.java
/**
 * Make sure we get a valid rest template to use.
 */
@Test
void canGetRestTemplate() {
    Assertions
        .assertThat(this.apisAutoConfiguration.genieRestTemplate(new HttpProperties(), new RestTemplateBuilder()))
        .isNotNull();
}
 
 类所在包
 同包方法