문제

일반 엔티티 상호 작용을 수행하는 데 REST를 사용하는 방법을 이해합니다. URLS 이름을 사용하여 엔티티 및 HTTP 동사를 사용하여 해당 엔티티의 작업에 매핑됩니다. 그러나 RPC와 비슷한 "행동"을 보는 일반적으로 인정되는 방법은 무엇입니까?

예를 들어, 장치가 재설정하도록 명령을 보내고 싶다고 가정 해 봅시다. 여기에 실제 "엔티티"가 없거나 게시물과 같은 일을합니까? http://mydevice/device/reset?

도움이 되었습니까?

해결책

/device/reset 또는 /system/reset 괜찮습니다.

나머지 "디자인 패턴"은 동사를 사용하지 않도록 권장합니다.

POST http://mydevice/system/state    
<stateType>RESET</stateType>

관련 정보:

다른 팁

나는 그것이 포스트를 사용하는 경우라고 생각하지 않습니다. "재설정 조치"는 Idempotent 조치입니다 (N TimeS라고 부르는 경우 항상 동일한 결과를 얻을 수 있습니다). 따라서 IMHO는 Put Call을 사용하여 POT가 사용하지 않으므로 POST는 Idempotent가 아닙니다).

또한 자원을 넣을 때 사용할 수 있습니다.

PUT http://system
<device>
  <status>RESET</status>
</device>

또는

 PUT http://system/status/reset

그러나 첫 번째는 "더 편안하다"고 생각합니다.이 자원은 리소스를 넣고 있기 때문에 URL을 사용하는 두 번째는 리소스를 사용합니다.

나는 보통 엔티티 "시스템"또는 그와 비슷한 것을 지명합니다. 따라서 "/System/Reset"을 수행합니다. 당신은 장치도 선택했습니다.

그러나 예, 나는 보통 이러한 유형의 행동이 게시물을 사용하는 업데이트로 간주합니다. 그래서 나는 당신이 /장치 /재설정에 게시 할 권리가 있다고 생각합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top