백엔드
mapstruct를 활용해 spring boot에서 gRPC 쉽게 사용하기
두줄요약
Endpoint API와 Recommend API 간 호출 지연을 줄이기 위해 gRPC를 도입하고, DTO와 gRPC message 매핑을 MapStruct로 단순화했습니다. Spring Boot 환경에서 proto와 Mapper를 구성해 반복 변환 코드를 줄이는 방법을 소개했습니다.
핵심 내용
- Endpoint API에서 Recommend API로의 요청·응답이 많아 속도 저하가 발생해 gRPC 도입 검토
- DTO 멤버 변수가 많아 gRPC message 매핑 로직이 복잡해지는 문제를 MapStruct로 단순화
- Spring Boot 환경에서 proto 정의와 서비스 인터페이스를 구성하고, DTO↔gRPC message 변환용 Mapper를 작성하는 흐름
적용해볼 점
- DTO와 proto 필드가 많은 경우 수동 매핑 대신 MapStruct 활용
- gRPC 도입 시 요청·응답 모델과 서비스 계약을 먼저 정리
- Spring Boot + gRPC 조합에서 반복 변환 코드 감소에 MapStruct 적용
