1. WebClient
: 기본으로 Reactor Netty의 HTTP 클라이언트 사용
① 로컬 커스터마이징
WebClient webClient = builder.baseUrl("http://localhost:8080").build();
Mono<String> helloMono = webClient.get().uri("/hello")
.retrieve().bodyToMono(String.class);
② 글로벌 커스터마이징
- WebClientCustomizer
//@Bean
//public WebClientCustomizer webClientCustomizer() {
// return new WebClientCustomizer() {
// @Override
// public void customize(WebClient.Builder webClientBuilder) {
// webClientBuilder.baseUrl("http://localhost:8080");
// }
// };
//}
// or
@Bean
public WebClientCustomizer webClientCustomizer() {
return webClientBuilder -> webClientBuilder.baseUrl("http://localhost:8080");
}
-> 모든 builder는 기본적으로 baseUrl이 세팅된 상태로 다른 빈들에 주입되기 때문에 builder.build()만 해서 사용
- 빈 재정의
: WebClientCustomizer가 아니라 WebClient Builder 자체를 다시 등록해도 됨
2. RestTemplate
: 기본으로 java.net.HttpURLConnection 사용
# Apache HttpClient로 변경하고 싶은 경우
org.apache.httpcomponents:httpclient 의존성 추가 후, 아래와 같이 RestTemplateCustomizer 정의
@Bean
public RestTemplateCustomizer restTemplateCustomizer() {
return new RestTemplateCustomizer() {
@Override
public void customize(RestTemplate restTemplate) {
restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory());
}
};
}
① 로컬 커스터마이징
② 글로벌 커스터마이징
- RestTemplateCustomizer
- 빈 재정의
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8/dashboard
스프링 부트 개념과 활용 - 인프런 | 강의
스프링 부트의 원리 및 여러 기능을 코딩을 통해 쉽게 이해하고 보다 적극적으로 사용할 수 있는 방법을 학습합니다., - 강의 소개 | 인프런...
www.inflearn.com
'Java > Spring Boot' 카테고리의 다른 글
[Spring Boot] Actuator (Spring-Boot-Admin) (0) | 2022.05.08 |
---|---|
[Spring Boot] Actuator (HTTP/JMX) (0) | 2022.05.08 |
[Spring Boot] REST Client (RestTemplate과 WebClient) (0) | 2022.05.07 |
[Spring Boot] Spring Security 설정 커스터마이징 (0) | 2022.05.01 |
[Spring Boot] Spring Security (0) | 2022.05.01 |