Moait
홈인기 피드모든 블로그모든 태그
홈인기 피드모든 블로그모든 태그

변화에 유연한 HTTP 클라이언트 만들기

인프랩 favicon인프랩·Architecture·
TypeScriptNestJSRxJSgotAxios
2023년 07월 23일0

AI 요약

이 글은 AI가 요약했어요. 정확한 내용은 꼭 원문을 확인해 주세요!

핵심 요약

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로 주입하도록 구성해야 하며, 인터페이스보다는 추상 클래스를 권장합니다.

연관 피드

%가 높을수록 이 글과 비슷할 가능성이 높아요!
NestJS v10 업데이트의 여정 섬네일
71%

NestJS v10 업데이트의 여정

모두싸인 favicon모두싸인·2025년 01월 23일
강의실 개편 섬네일
70%

강의실 개편

인프랩 favicon인프랩·2022년 07월 18일
서비스 워커에 대해 알아보고 Mock Response 만들기 섬네일
69%

서비스 워커에 대해 알아보고 Mock Response 만들기

카카오엔터테인먼트 favicon카카오엔터테인먼트·2022년 12월 14일