HTTP API를 디자인하는 과정에서 가능한 한 RESTful하게 만들었습니다.
기능이 몇 가지 리소스에 퍼져있는 작업이 있으며 언젠가 취소해야합니다.
제 생각에 이것은 명령 패턴처럼 들리지만 어떻게 리소스로 모델링 할 수 있습니까?
DepositAction과 같은 XXAction이라는 새로운 리소스를 소개합니다.
POST /card/{card-id}/account/{account-id}/Deposit
AmountToDeposit=100, different parameters...
실제로 새 DepositAction을 작성하고 Do / Execute 메소드를 활성화합니다. 이 경우 201 Created HTTP 상태를 반환하면 작업이 성공적으로 실행 된 것입니다.
나중에 고객이 수행 할 수있는 작업 세부 정보를 보려는 경우
GET /action/{action-id}
업데이트 / PUT은 여기와 관련이 없기 때문에 차단되어야합니다.
그리고 행동을 취소하기 위해, 나는
DELETE /action/{action-id}
실제로 관련 개체의 Undo 메서드를 호출하고 상태를 변경합니다.
하나의 Do-Undo만으로 만족한다고 가정 해 봅시다. 다시 실행할 필요는 없습니다.
이 방법은 괜찮습니까?
사용하지 않는 이유가 있습니까?
이것은 고객의 POV에서 이해됩니까?