나는 REST 끝점이 동사 대신 명사가되어야한다는 것을 알고 있지만 때로는 약간의 편차가 허용됩니까?안정된 끝점 명명 규칙
제품을 게시해야하는 엔드 포인트를 상상해보십시오 (웹 페이지에서 보이게하거나 대기열에 항목을 추가 할 수 있음).
이 문제를 해결하는 방법은 두 가지가 있습니다.
1) PUT api/products/1/publish - 나는 명시 적이기 때문에 그것을 좋아하고 백엔드의 복잡성을 피하고 스스로 문서화합니다.
2) PATCH/PUT/PATCH API를/제품/1
{
"color": "green",
//some properties removed for brevity
"ispublished" : true
}
두 번째 방법은 포스트 본체에 isPublished 필드를 추적하는 백엔드 서비스를 필요로하고는 사실, 처음으로 이성을 상실했을 때 출판 과정. 이것은 좀 더 복잡하고 더 많은 유지력을 느낍니다.
제 질문은 REST 관점에서 첫 번째 방법을 사용하는 것이 좋습니까? 큰 단점이 있습니까?
상태를 최종 제품 _state_입니다. 이 상태가 되려면 먼저 "게시"명령을 _triggered_해야합니다. 제안 된 옵션 1은 적절한 [command] (http://stackoverflow.com/a/5625525/4207332) 트리거처럼 보입니다. –
@SergeyShushlyapin REST는 _ 명령에 관한 것이 아니고 REST는 _resources_ 및 해당 _states_에 관한 것입니다. RPC는 aboutcommand_입니다. –