-
[스프링부트 개념과 활용] 스프링 RestTemplate / Webclient 사용SPRING/스프링부트 개념과 활용 2021. 1. 22. 01:46
스프링 REST
자바단(서버단)에서 Client로써 다른 서버에 REST 요청을 하기 위해서는 rest클라이언트 인스턴스를 생성해서 사용해야 된다. 이때 2가지 선택사항이 존재하는데 아래와 같다.
RestTempalte
- Blocking I/O 기반의 Synchronous API
WebClient
- Non-Blocking I/O 기반의 Asynchronous API
RestTemplate 예시
hello 메서드는 sleep을 5초를 주고, world는 3초를 준다.
Blocking I/O 기반의 RestTemplate으로 요청을 날렸기 때문에 응답이 올때까지 다음으로 넘어가지 않는다.
즉, hello 요청에서 5초를 기다리고, world에서 3초를 기다리므로 8초 +@의 시간이 걸릴 것으로 예측할 수 있다.
WebClient 예시
WebClient를 사용하기 위해서는 아래와 같은 의존성을 추가해야 한다.
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> </dependency>
Webclient의 경우는 비동기처리를 하기 때문에 subscribe 메서드를 통해서 CALLBACK 처리를 할 수 있다.
ex :) AJAX Callback처리.
'SPRING > 스프링부트 개념과 활용' 카테고리의 다른 글
[스프링부트 개념과 활용] 스프링 Rest Client 커스터마이징 (0) 2021.01.25 [스프링부트 개념과 활용] 스프링 시큐리티 (활용) (0) 2021.01.20 [스프링부트 개념과 활용] 스프링 시큐리티 (기본) (0) 2021.01.19 [스프링부트 개념과 활용] REDIS (1) 2021.01.16 [스프링부트 개념과 활용] 데이터베이스 초기화 (0) 2021.01.16