Skip to content

[refactor] ApiResponse에서 에러 응답 분리 및 불필요 필드 제거 - #174

Merged
gihhyeon merged 1 commit into
developfrom
refactor/173-response-type-split
Sep 16, 2026
Merged

gihhyeon merged 1 commit into
developfrom
refactor/173-response-type-split

Conversation

@gihhyeon

@gihhyeon gihhyeon commented Sep 16, 2026

Copy link
Copy Markdown
Member

요약

단일 ApiResponse<T>dataerror를 모두 가져 성공 응답 스키마에도 error가 노출되던 구조를 성공/에러 전용 타입으로 분리한다. 불필요한 timestamp도 제거한다.

What — 무엇을 바꿨나

  • ApiResponse<T>: 성공 전용으로 축소 (error, timestamp 필드 제거)
  • ErrorResponse 신설: 에러 전용 (data 없음)
  • GlobalExceptionHandler, JwtAuthenticationFilterErrorResponse 반환
  • CLAUDE.md DTO 규칙에 응답 래퍼 ErrorResponse 반영

Why — 왜 필요한가

성공/에러를 한 타입으로 겸용해 상태코드별 스키마가 부정확했다(성공에도 error 노출). 타입을 나눠 한 응답에 dataerror가 공존하지 않게 하고 문서를 정확히 한다.

How — 어떻게 구현했나

  • 성공 응답: { status, data } / 에러 응답: { status, error } 로 상호배타
  • 성공의 error 제거는 런타임 응답 불변(NON_NULL로 이미 미노출), 스키마만 정리됨

체크리스트

  • 불필요한 주석/코드 제거
  • 기존 테스트 통과 확인 (./gradlew test)
  • 공개 계약 영향 확인 (아래 참고)

관련 이슈

기타 / 리뷰 포인트

  • ⚠️ 하위 호환 깨짐: 에러 응답에서 "data": null 키 제거, timestamp 제거 → 프론트 합의 완료
  • 성공 응답의 error 필드 제거는 런타임 응답 변화 없음(스키마만 정리)

@gihhyeon gihhyeon self-assigned this Sep 16, 2026
@gihhyeon gihhyeon added the ⚒️ Refactoring 리팩토링 label Sep 16, 2026
@gihhyeon
gihhyeon merged commit 962f5a9 into develop Sep 16, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[refactor] 성공/에러 응답 타입 분리 및 data, error, timestamp 필드 정리

1 participant