핵심 요약
Nest.js용 WebClientModule은 외부 HTTP 의존을 추상화하고 구현체 교체를 쉽게 하며 테스트 친화적이고 선언적 HTTP 클라이언트를 제공하는 도구입니다.
주요 특징
- WebClient, BodyInserter, ResponseSpec 등 인터페이스 기반으로 HTTP 요청을 구성합니다.
- GotClient 같은 구현체를 교체해도 동일 API로 사용할 수 있습니다.
- WebClientService와 MockWebClient/MockWebClientService를 통해 순수 유닛 테스트가 가능합니다.
- DI를 통한 느슨한 결합과 라이브러리 교체의 용이성을 제공합니다.
적용 고려사항
- ResponseSpec가 class-transformer 의존성을 가지므로 교체 시 주의가 필요합니다.
- 구현체 추가 시 새 파일(GotClientService, FetchClientService 등)이 필요할 수 있습니다.
- Nest.js provider 등록은 WebClientService를 useClass로 주입하도록 구성해야 하며, 인터페이스보다는 추상 클래스를 권장합니다.


