우리는 현재 우리의 단일체 (monoliths)에서 소규모 서비스를 다루는 중입니다. 우리 도메인은 발권 시스템과 매우 유사합니다. 우리는 도메인의 취소 프로세스부터 시작하기로 결정했습니다.RESTful 방식으로 CANCEL 동작을 모델링하는 방법은 무엇입니까?
취소 서비스에는 티켓의 ID를 가져 오는 간단한 "끝내기"끝 점이 있습니다. 내부적으로, 우리는 id를 검색하고, 그것을 취소하고 저장소의 엔터티 상태를 업데이트하는 것과 관련된 몇 가지 작업을 수행합니다. 상점의 관점에서 취소 된 티켓과 라이브 티켓 간의 유일한 차이점은 몇 가지 속성입니다.
내가 읽은 것으로부터, PATCH는이 경우에 사용되는 올바른 동사 인 것으로 보이며 리소스의 단순한 속성 만 업데이트합니다.
PATCH /api/tickets/{id}
Payload {isCancelled: true}
그러나 isCancelled는 엔티티의 실제 속성이 아닙니다. 엔티티의 일부가 아닌 페이로드에서 속성을 전송하는 것이 공정한가요? 아니면이 요청을 모델링하는 다른 형태를 생각해야합니까? 그것이 크기 때문에 전체 엔티티를 페이로드의 일부로 보내고 싶지 않습니다.
새로운 리소스 CancelledTickets를 만들려고했지만 Google 도메인에서는 취소 된 티켓에 대해 GET 할 필요가 없습니다. 따라서 어떤 도움을 크게
덕분에 K
RESTful이라는 것은 Roy Fieldig의 제약 조건을 준수해야 함을 의미합니다. 이러한 표준을 준수한다는 것은 해당 서비스를 사용하는 모든 클라이언트가 해당 서비스에 대해 특정 가정을 할 수 있음을 의미합니다. 즉, 기능성이라는 것이 준수하는 것이 더 중요하다는 것도 이해합니다. 생각? –