2013-02-15 2 views
0

분산 된 실행 서버로 작업하고 있습니다. 서버에서 HTTP를 기반으로하는 REST API를 사용하기로 결정했습니다. 클라이언트는 서버에 연결하여 다음 작업을 수행합니다. 분명히 한 번만 처리되도록 검색된 작업을 "업데이트"해야합니다. GET은 검색된 리소스의 상태를 변경하는 것과 같은 부작용이 없어야합니다. 리소스를 업데이트하기 위해 POST를 사용할 수도 있지만 검색해야합니다. POST에서 작업을 "청구 됨"으로 표시 한 URL을 가질 수 있다고 생각하지만 GET은 검색된 작업을 표시합니다. 불행히도 나는 다시 GET에 부작용이있다. 이것은 REST에서 작동하지 않을까요? 나는 이것을 할 수있는 "함수"자원을 갖고 있지만, 약간의 연구없이 패러다임을 포기하고 싶지는 않아도 괜찮습니다.REST API에서 스택을 만드는 방법은 무엇입니까?

팻 O

답변

-1

REST 정말 그냥 개념이고, 당신은 그러나 당신이 원하는 구현할 수 있습니다. 모든 사람의 사용 사례가 다르기 때문에 '올바른 방법'이 없습니다. (네, 정의 된 스펙이 있다는 것을 이해합니다.하지만 원하는대로 할 수는 있습니다.) GET이 부작용이 필요한 경우, 부작용이 있습니다. 자신이 한 일 (그리고 그 이유)을 문서화하십시오.

그러나 구독자가 여러 명인 대기열을 만드는 것처럼 보이고 구독자가 스크립트 또는 기타 컴퓨터와 같이 자동화 된 경우 실제 대기열을 사용하여 볼 수 있습니다. (http://www.rabbitmq.com/getstarted.html).

웹 UI 나 실제 사람들이 처리하는 곳에서이 기능을 사용하는 경우 GET 요청과 함께 대기열을 사용하여 대기열에서 다음 항목을 끌어 올 수도 있습니다.

대부분의 메시징 시스템을 사용할 때 메시지가 대기열에서 가져 오는 순서를 보장 할 수 없으므로 순서가 필요한 경우이 방법을 사용하지 못할 수도 있습니다.

0

아무 것도 맞지 않으면 POST 요청을 사용해야합니다. 아무것도 POST 요청에 대한 리소스를 반환하지 못하게합니다. 그러나 GET 요청을 사용할 때 그럴 수없는 자원 (이 경우)이 발생한다는 것이 분명해진다.

관련 문제