ssung_항해일지/CS 지식 및 기술면접

Rest Client [Spring]

ssungcohol 2023. 5. 12. 14:14

Rest Client란?

  • Spring에서 제공하는 HTTP 통신에 사용할 수 있는 템플릿
  • HTTP 통신을 할 수 있는 Rest한 Client
  • Spring boot에서 쉽게 사용할 수 있도록 자동설정을 제공
  • ※주의 : RestTemplate / WebClient 는 자체를 빈으로 등록 X
    => RestTemplateBuilder / WebClient.Builder 를 빈으로 등록 O

1. RestTemplate

  • Blocking I/O 기반의 Synchronous API
    • RestRunner에서 특정 API를 호출한 뒤, Blocking 되므로 해당 메서드가 끝나기 전까지 다음 라인이 실행되지 않음
  • RestTemplateAutoConfiguration
  • 프로젝트에 spring-web 모듈이 있다면 RestTemplateBuilder 를 빈으로 등록

2. WebClient

  • Non - Blocking I/O 기반의 Asynchronous API
  • WebClientAutoConfiguration
  • 프로젝트에 Spring - Wenflux 모듈이 있다면 WebClient.Builder를 빈으로 등록
    • 가장 쉬운 방법은 spring-boot-starter-webflux를 의존성에 추가하는 방법이다
728x90

'ssung_항해일지 > CS 지식 및 기술면접' 카테고리의 다른 글

트랜잭션  (0) 2023.05.15
23.05.13 - 운동일지  (0) 2023.05.15
Spring Container  (0) 2023.05.11
List, Set, Map, Hash Map  (0) 2023.05.11
제네릭 (generic)  (0) 2023.05.10