[Application Code]
|
v
+----------------------+
| Web Client |
+----------------------+
/ \\
v v
RestTemplate WebClient
(Blocking) (Non-blocking)
+----------------------+
| RestTemplate |
+----------------------+
|
v
+-------------------------------+
| ClientHttpRequestFactory |
+-------------------------------+
|
v
+-------------------------------+
| ClientHttpRequest |
+-------------------------------+
|
v
+-------------------------------+
| ClientHttpResponse |
+-------------------------------+
RestTemplate
HTTP 요청/응답을 고수준 API로 제공
ClientHttpRequestFactory
어떤 HTTP 클라이언트 구현을 사용할지 결정
ClientHttpRequest / ClientHttpResponse
요청·응답의 실제 I/O 처리 인터페이스
모두 Blocking 방식