
개발을 하다 보면, “이 코드… 또 복붙이네?” 하는 순간이 자주 찾아옵니다.
저도 마찬가지였고, 결국 그런 습관이 하나의 라이브러리를 만들게 했습니다.
이번 글에서는 제가 왜 공통 응답 템플릿과 예외 처리 로직을 라이브러리로 분리하게 되었는지, 어떻게 설계했는지, 그리고 어떻게 적용하는지를 공유해보려고 합니다.
Spring Boot로 프로젝트를 시작할 때마다 반복되는 작업들이 있었습니다.
기능은 단순했지만, “어차피 똑같은 로직을 왜 계속 만들고 있지?” 라는 생각이 들었습니다.
그래서 이왕이면 아예 라이브러리로 만들어서 다른 프로젝트에서도 바로 쓸 수 있게 만들기로 결심했습니다.
프로젝트를 여러 개 만들면서 느낀 문제는 일관성 없는 예외 처리 였습니다.
응답 메시지 형식이 프로젝트마다 다르고, HTTP 상태 코드 대응도 통일되지 않았습니다.
그리고 전역 예외 처리 핸들러도 매번 작성해야 했습니다.
이런 문제들이 사소하지만 협업이나 유지보수에도 좋지 않았고, 자잘한 실수를 가져올 수 있습니다.
그래서! 이 문제들을 해결하기 위해 아래와 같은 구성의 라이브러리를 만들었습니다.

RspTemplate<T>~~GroupExcepionControllerAdviceAutoConfig라이브러리는 Github에 공개했고, JitPack으로 쉽게 의존성을 추가할 수 있습니다.
build.gradle에 의존성을 추가합니다.
repositories {
mavenCentral()
maven { url 'https://jitpack.io' } <- 추가
}
dependencies {
implementation 'com.github.giwoong01.spring-api-common:v0.1.5' <- 추가
}
⭐️ 최신 버전은 Release 페이지 참고
이 외 별도 설정은 필요하지 않습니다.
기능 사용법은 아래 노션 문서에 정리해두었습니다.
지금 당장은 작아 보일지 몰라도, 이런 작은 귀찮음의 반복이 결국 좋은 개발 습관을 만들고 더 나아가 도구를 만드는 개발자로 나아가는 길이라고 생각합니다.
더 나아가 자주 사용하는 기능들을 지속적으로 확장하고 계속 발전시킬 예정입니다.
☺️ 더 나은 개선 방향이나 궁금한 점이 있다면 언제든지 의견 남겨주세요!