You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
대상은 POST /wishlists(URL 등록)와 POST /tournaments/{tournamentId}/items/link 다.
클라 합의 필요
응답 계약이 바뀐다. 409 를 받아 "이미 담긴 상품입니다"를 띄우던 화면이 있으면 200 + 기존 항목으로 바뀐다. 중복임을 UX 로 알려야 한다면 응답에 그 사실을 표시할 필드가 필요할 수 있다(등록 응답에 이미 reused·refreshNeeded 메타가 있다).
범위 밖
presign 발급 재시도의 한도 누수: 요청 본문이 contentTypes 뿐이라 자연 키가 약하다. 클라가 이미지 해시를 실어 보내는 content-addressed key 설계가 선행돼야 한다.
왜
응답이 유실된 뒤 클라가 같은 URL 로 재시도하면 두 가지가 어긋난다.
같은 구조가 토너먼트 링크 담기에도 있다. 409 와 오너 몫 차감이 같은 순서다.
서버 입장에서는 재시도와 "사용자가 진짜 두 번 담으려는 시도"를 구분할 수 없다. 링크라는 자연 키가 이미 있는데도 그 판정 결과를 실패로 표현하고 있는 것이 원인이다.
무엇을
대상은
POST /wishlists(URL 등록)와POST /tournaments/{tournamentId}/items/link다.클라 합의 필요
응답 계약이 바뀐다. 409 를 받아 "이미 담긴 상품입니다"를 띄우던 화면이 있으면 200 + 기존 항목으로 바뀐다. 중복임을 UX 로 알려야 한다면 응답에 그 사실을 표시할 필드가 필요할 수 있다(등록 응답에 이미 reused·refreshNeeded 메타가 있다).
범위 밖
연관: #910(차감의 양을 정밀화, 축이 다름), #470(같은 전환의 선례)