티스토리 뷰

 

Spring Rest Client

Spring Rest Client는 웹 서비스에 HTTP 요청을 보내고 응답을 받는 클라이언트입니다. 서버에 요청을 보내고 응답을 처리하기 위해 필요한 다양한 기능이 있는데 Spring에서 RestTemplate와 WebClient의 Rest Client를 제공합니다. RestTemplate는 Blocking I/O 기반의 동기식API입니다. 그렇기 때문에 절차 지향처럼 각 코드 라인이 끝나야 다음 라인으로 넘어갑니다. 즉 요청과 응답이 완료될때까지 스레드가 차단이 됩니다. WebClient는 Non-Blocking I/O 기반의 비동기API입니다. 그렇기 때문에 요청-응답 동작이 블로킹되지 않기 때문에 RestTemplate 성능이 좋습니다. Spring에서는 WebClient를 권장하고 있습니다.

 

@SpringBootTest와 @WebMvcTest의 차이점

@SpringBootTest 어노테이션은 전체의 Spring 애플리케이션 모든 구성요소가 로드됩니다. 즉 모든 Bean들을 로드하기 때문에 통합 테스트에 유리하고 데이터베이스, 외부 서비스 등 모든 종속성이 포함된 테스트가 가능합니다. @WebMvcTest 어노테이션은 MVC(모델-뷰-컨트롤러) 계층 테스트에 사용됩니다. SpringBootTest와는 다르게 애플리케이션 일부만 로드해서 주로 컨트롤러 계층의 테스트를 진행하고 합니다. 그리고 데이터베이스나 다른 외부 종속성은 Mock으로 가짜객체를 만들어서 제공하고 제한된 환경을 제공하는 단위 테스트에 적합합니다.

 

 

 

 

참고 블로그

https://goodgid.github.io/Spring-Rest-Client-RestTemplate-And-WebClient/

 

Spring Rest 클라이언트(Client) : RestTemplate과 WebClient

Index

goodgid.github.io

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함