2016-12-10 17 views
0

클라이언트 (사용자 ID로 식별)가 서버에 REST API 호출을 보내는 것과 비슷한 응용 프로그램을 만들고 싶습니다. 서버는 데이터베이스에 쿼리하여 이전에이 사용자에게 배지가 있는지 확인합니다. 있다면, 아무 것도하지 않습니다. 그렇지 않으면 데이터베이스에 사용자에게 배지가 부여되고 사용자에게 전자 메일을 보냅니다. 여기작업이 멱등 한 것으로 보이는 경우 PUT 또는 POST

PUT/사용자 // 배지/ POST/사용자 // 배지/

내 질문은 내가 여기에 사용해야하는 HTTP는 방법? PUT 또는 POST?

전자 메일은 첫 번째 요청에서만 보내지고 이후 요청은 db를 쿼리하는 것 외에는 아무 것도하지 않는다는 의미에서 멱등합니다.

이 경우 어떤 http 방법을 사용 하시겠습니까?

+0

업데이트가 없으므로 PUT입니다. – EJP

답변

0

RFC 7231, section 4.3.4에서에서 알 수있는 바와 같이 다음은 일반적으로, PUT해야 멱등 있어요 경우 : POST 사이

근본적인 차이와 동봉 된 표현의 다른 목적에 의해 강조되는 방법을 PUT. POST 요청의 대상 자원은 자원 자체의 의미에 따라 에 따라 둘러싸인 표현을 처리하기위한 것이지만 PUT 요청의 둘러싸인 표현은 대상 자원의 상태를 대체하는 으로 정의됩니다. 따라서 정확한 효과는 원본 서버에서만 알 수 있더라도 PUT 의 의도는 멱등 원이며 중개자에게 표시됩니다.