코드단 제안 사항 (카카오톡 내용 요약) - depromeet/Took-BE GitHub Wiki
카카오톡에서 나눈 이야기를 요약하였습니다.
1. 인증 관련 네이밍 정리
- 향후 기본 로그인 추가 가능성을 고려하여
oauth
대신auth
사용 제안. - API 경로 예시:
- 소셜 로그인 →
/api/auth/login/kakao
- 기본 로그인 →
/api/auth/login/basic
- 소셜 로그인 →
- 클래스 구조 제안:
- 기존:
OAuthController > OAuthService > (OAuth 관련 클래스들)
- 변경:
AuthController > AuthService > (OAuth 클래스 & 기본 로그인 클래스 분리)
- 기존:
2. 에러 코드 위치 조정
- 에러 코드 패키지를
global
이 아니라 각 feature 내에서 선언하는 방향 제안. - 이유:
- 에러 코드는 feature별로 사용되며, global에 두면 불필요한 계층 구조가 생김.
- 기존:
global > exception > [feature]
- 변경:
[feature] > exception
✅ 추가 논의 필요: CommonErrorCode
와 exception
의 위치
3. Security 패키지 위치 조정
- 기존:
security 패키지가 global 내에 위치
- 변경 제안:
AuthFilter
,TokenProvider
제외한 모든 security 관련 클래스를feature > auth
로 이동- 이유:
- security 패키지는 auth에서만 사용됨.
- 클래스 검색 시 feature 내부에 있는 것이 더 자연스러움.
4. filter → interceptor 변경 제안
-
기존: 에러 응답 바디 형식 통일 필요
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, ex.getMessage());
-
변경 제안:
- 번거로운 응답 생성 로직
- 공통 응답 관리가 한 곳에서 되지 않음
5. 커스텀 예외
- 기존: 여러 개의 커스텀 예외
- 변경 제안: 하나의 커스텀 예외로 통합 ( == 내가 초기 의도한 방향 )
- 내가 생각하는 커스텀 예외의 목적: “방대한 표준 예외 관리 어려움” + “서비스 내에서 의도한 예외임을 드러내기 위함”
- 기존의 방법은 위 목적을 흐린다고 생각
- ErrorCode만으로도 예외의 목적은 충분히 전달 가능
- 불필요한 커스텀 예외가 많아지면 유지보수성 저하됨