
백엔드
신규 전시 프로젝트에서 WebClient 사용하기
두줄요약
신규 전시 프로젝트에서 기존 서버와의 통신을 위해 WebClient를 도입한 이유와 설정 방법을 소개했습니다. RestTemplate과 비교해 Non-Blocking 특성과 응답 처리 예시도 함께 정리했습니다.
핵심 내용
- 신규 전시 프로젝트에서 기존 온라인몰 서버와의 통신을 위해 Spring Boot 2.5.x, Kotlin 환경에서 WebClient 사용을 선택
- RestTemplate 대비 Non-Blocking, 동기·비동기 지원, Reactor 기반 API 특성으로 성능과 확장성 측면을 설명
- WebClient.builder()로 baseUrl, defaultHeader, maxInMemorySize, timeout, clientConnector 등을 설정하는 방법 소개
- retrieve()와 exchangeToMono()를 통해 상태 코드별 응답 처리 방식과 Mono, Flux 활용 예시 제시
적용해볼 점
- WebClient 사용 시 메모리 버퍼 크기와 타임아웃 등 기본 설정을 함께 점검
- immutable 특성을 활용해 mutate()로 헤더나 옵션을 상황별로 분리
- 성공·오류 응답 처리 방식에 따라 retrieve()와 exchangeToMono()를 적절히 선택
