Spring application -> Http 요청 사용방법
1) RestTemplate
2) WebClient
http통신에 유용하게 쓸 수 있는 템플릿 Rest서비스를 호출하도록 설계
http 프로토콜의 메소드(GET,POST,DELETE,PUT)에 맞게 여러 메소드를 제공
-통신을 단순화하고 RESTful 원칙을 지킨다
-멀티쓰레드 방식을 사용
-Blocking 방식을 사용
의존성 설정은
기본 스프링 부트 의존성을 추가하면 RestTemplate 관련 의존성은 자동으로 추가된다.
lementation 'org.springframework.boot:spring-boot-starter-web'
REstTemplate -> HttpClient 를 사용할 것인지
ClientHttpResquestFactory를 전달하여 지정가능.
기븐 생성자의 경우 내부적으로 ClientHttpFequestFactory의 구현체
SimpleClientHttpRequestFactory를 사용해서 초기화한다.
RestTemplate의 생성
@Configuration
public class RestTemplateClient {
@Bean
public RestTemplate restTemplate(RestTemplateBuilder builder) {
return builder.build();
}
}
RestTemplate을 생성할때는 builder를 통하여 생성해 줄 수 있다. retuen builder를 생성하고 스프링 빈으로 사용할 수 있도록 설정해준다.
public class RestTemplateTestClass {
@Autowired
RestTemplate restTemplate;
public TestClass(RestTemplate restTemplate){
this.restTemplate = restTemplate;
}
public String getSthFromServer(){
return restTemplate.getForObject("https://example.com",String.class);
}
}
RestTemplate을 사용하기 위해서는 restTemplate.메소드명() 을 사용하면 된다.
https://tecoble.techcourse.co.kr/post/2021-07-25-resttemplate-webclient/