merge: develop -> main (#154 #156) - #158
Merged
Merged
Conversation
프론트가 쓰던 /me/saved-styles 와 { items: [...] } 응답을 페이지네이션 도입 과정에서
말없이 /saved-styles 와 PageResponse 로 바꿔 클라이언트가 깨졌다. 후보는 본인 것만
다루므로 /me 아래가 맞고, 상한이 20개라 페이지를 나눌 이유도 없다.
경로는 있고 메서드만 없는 요청에 붙일 코드가 없어 500 과 구분되지 않았다.
catch-all Exception 핸들러가 스프링의 NoResourceFoundException 과 HttpRequestMethodNotSupportedException 까지 삼켜 경로 오타가 서버 장애로 보고됐다. 클라이언트는 code 로 분기하므로 재시도할 상황인지 요청을 고칠 상황인지 구분할 수 없었고, 오류 로그도 이 소음에 묻혔다.
fix: 없는 경로·미지원 메서드를 404·405 로 응답
…#154 fix: 저장 후보 API 경로·응답 계약 복구
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
관련 이슈
변경 내용
/me/saved-styles로, 목록 응답을{ items: [...] }로 복구 (fix: 저장 후보 API 경로·응답 계약 복구 #155)404 RESOURCE_NOT_FOUND, 미지원 메서드를405 METHOD_NOT_ALLOWED로 응답 (fix: 없는 경로·미지원 메서드를 404·405 로 응답 #157)작업 목적
저장 후보 API의 경로·응답 형태가 공유 없이 바뀌어 클라이언트 연동이 끊겼고, 그 결과가 404가 아니라 500으로 보고돼 원인 파악이 늦어졌다. 두 문제를 함께 배포한다.
테스트 방법
체크리스트
기타 사항
GET /me/saved-styles로만 응답하고 본문에서page객체가 사라진다. 클라이언트 배포를 맞춰야 한다405는 기존 명세에 없던 상태코드다. 500으로 두는 것보다 낫다고 판단해 추가했다