RestTemplateBuilder
- это компонент, предоставляемый Spring boot. Вы можете внедрить это в любой из ваших классов bean-компонентов Spring.
Затем вы просто хотите сконфигурировать ваш restTemplate
при создании вашего класса bean-компонента Spring и сохранить его в виде поля. Вы можете сделать что-то, как показано ниже (Это не единственный способ).
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.web.client.RestTemplateBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;
import java.time.Duration;
@Configuration
public class MyExampleRestClientConfiguration {
private final RestTemplateBuilder restTemplateBuilder;
@Autowired
public MyExampleRestClient(RestTemplateBuilder restTemplateBuilder) {
this.restTemplateBuilder = restTemplateBuilder;
}
@Bean
public RestTemplate restTemplate() {
return restTemplateBuilder
.setConnectTimeout(Duration.ofMillis(connectTimeout))
.setReadTimeout(Duration.ofMillis(readTimeout))
.build();
}
}
Теперь в каком-то другом классе бобов весной вы можете просто подключить боб restTemplate
и использовать повторно.
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;
@Component
public class MyExampleRestClient {
private final RestTemplate restTemplate;
@Autowired
public MyExampleRestClient(RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
//Now You can call restTemplate in any method
}
Вы можете отослать этот для получения дополнительной информации.