openfeign 2

[쇼핑몰 프로젝트] FeignClient 에러 처리: ErrorDecoder

0. 개요쇼핑몰 프로젝트를 혼자 다시 만들면서, FeignClient 사용 중 발생하는 예외 처리 방식에 대해 고민하게 되었다. 당시 프로젝트는 MSA 구조였고, 각 API 내부에서는 상황에 맞는 적절한 예외 처리를 하고 있었다. 문제는, 서버 간 통신을 위해 FeignClient로 요청을 보낼 때 발생했다. 요청을 받은 서버는 어떤 예외가 발생했는지 알고 있었지만, 요청을 보낸 서버에서는 모든 예외가 그냥 FeignException 하나로 퉁쳐졌다. 그 결과, 실제 어떤 오류가 발생했는지를 확인하려면 요청을 받은 서버의 로그를 직접 확인해야 했고, 이는 디버깅이나 예외 추적에 있어 꽤 큰 불편함이었다. 그때는 프로젝트 마감 기한이 촉박해서 그냥 넘겼지만, 이번에 혼자 다시 프로젝트를 진행하면서 이 문제..

[쇼핑몰 프로젝트] Spring Cloud Gateway와 OpenFeign을 같이 사용하면 발생하는 문제

0. 개요쇼핑몰 프로젝트를 혼자 다시 구현하면서, 이전과는 달리 refresh token과 블랙리스트 기능을 새롭게 추가하게 되면서 gateway 로직을 다시 짜게 되었다.Gateway는 클라이언트 요청의 Authorization 헤더에 담긴 JWT를 검증하고, 인증 API에 요청을 보내서 해당 토큰이 블랙리스트에 등록된 것인지 확인한 후, 토큰 안에 담긴 사용자 정보를 파싱해 다음을 헤더에 추가해서 백엔드 API에 전달한다.X-MEMBER-ID: 사용자 식별자X-MEMBER-ROLES: 사용자 권한처음에는 인증 서버와 통신하기 위해 Spring Cloud OpenFeign을 사용했지만, Spring Cloud Gateway는 Spring WebFlux 기반의 비동기 논블로킹 환경에서 동작하기 때문에, ..