배경 및 문제
Swagger 명세를 작성할 때 API에서 발생할 수 있는 예외들을 텍스트로 수동으로 문서화해야 했습니다.
때문에 컨트롤러에서 Swagger 명세를 위한 코드가 길어지고, 동일한 에러 코드에 대한 상세한 명세가 힘들었고, 일부 예외를 빠뜨려 클라이언트 개발자와의 의사소통에 어려움이 있었습니다.
해결 방안
커스텀 어노테이션을 생성하여 발생 가능한 커스텀 예외 클래스를 입력하면 관련 예외 응답을 스웨거로 자동으로 문서화할 수 있도록 구현했습니다.
덕분에 텍스트 형식으로 예외를 수동으로 기록하는 번거로움을 줄이고, 컨트롤러 코드의 길이를 대폭 줄여 가독성을 향상시켰으며, 클라이언트 개발자에게 정확한 명세를 제공함으로써 의사소통의 효율성을 높였습니다.
또한 동일한 에러 코드를 가진 예외들도 효과적으로 명세화할 수 있었습니다.
관련 코드
→ 커스텀 어노테이션 코드
→ 커스텀 어노테이션을 바탕으로 오류 명세 자동 생성 코드