Get-and-Set
Get-and-Set “Get-and-Set"은 전통적인 CRUD(Create, Read, Update, Delete) 방식을 개선한 REST API 디자인 패턴으로, 리소스의 존재 여부와 관계없이 단순화된 작업 흐름을 제공한다. 기본 개념 두 가지 핵심 연산 Get: 리소스의 현재 상태 조회 (CRUD의 Read와 동일) Set: Create/Update: 리소스 존재 여부와 무관하게 값을 설정 (Last-Write-Wins 정책) Delete: null 값을 전달하여 리소스 삭제 동작 원리 1 2 3 4 [클라이언트] [서버] Get 요청 → 리소스 상태 확인 Set 요청 → 값 설정/삭제 ← 최종 상태 반환 (옵션: 이전 값 포함) CRUD와의 차이점 기능 CRUD API Get-and-Set API 생성/수정 POST/PUT/PATCH 분리 단일 Set 연산으로 통합 삭제 DELETE 메서드 사용 Set(null)으로 처리 동시성 제어 복잡한 버전 관리 필요 Last-Write-Wins 기본 적용 에러 처리 상태 코드 404/409 등 다양 단순화된 200/400/500 사용 사례 복잡한 비즈니스 로직 단순 리소스 관리 시스템 작동 원리 상세 Set 연산의 3가지 시나리오 리소스 없음 + 값 전달: 새 리소스 생성 (201 Created) 리소스 존재 + 값 전달: 기존 리소스 덮어쓰기 (200 OK) 리소스 존재 + null 전달: 리소스 삭제 (204 No Content) Last-Write-Wins 동시성 제어 타임스탬프 기반: 최종 쓰기 요청이 우선 적용 ...