Skip to content

feat(afternote): 애프터노트 수정 PATCH 에 조건부 갱신(낙관적 동시성 제어) 수단을 연다 — FE#1733 선행 #278

Description

@OnlyReadOneBook

배경

FE 애프터노트 수정 PATCH 는 FE PR Afternote/Afternote-FE#1626 부터 사용자가 만진 필드만 싣습니다. 그래서 「안 만진 필드가 stale 스냅샷으로 나가 서버 값을 지우는」 문제(Afternote/Afternote-FE#1617)는 해소됐습니다.

남은 축은 같은 필드를 두 클라이언트가 동시에 편집하는 경우입니다. 요청에 버전 토큰·updatedAt·If-Match 류 조건부 갱신 수단이 없어 나중 저장이 조용히 이깁니다(last-write-wins). origin/main 애프터노트 도메인에 @Version·If-Match·ETag 가 0건인 것을 확인했습니다. 애프터노트는 사후 전달이라 손실이 늦게 발견되고 되돌리기 어렵습니다.

요청

  • 조건부 갱신 수단을 하나 정한다 — 엔티티 @Version + 요청 바디 버전 / updatedAt 기반 조건부 갱신 / If-Match+ETag 중 택1
  • 충돌 시 응답 규격을 정한다(409 또는 412, 에러 코드, 현재 서버 값 동봉 여부)
  • 상세 응답에 클라이언트가 보낼 토큰(버전 또는 updatedAt)을 노출한다
  • OpenAPI 에 반영한다

완료 조건

같은 애프터노트의 같은 필드를 두 클라이언트가 편집했을 때, 뒤의 PATCH 가 앞의 것을 조용히 덮지 않고 충돌 응답을 돌려준다.

참고

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions