이 호출이 매번 다른 리소스를 반환 할 때 GET /resources
을 통해 리소스를 노출하려면 HATEOAS 호환입니까?HATEOAS를 준수합니까? 서로 다른 결과를 가진 동일한 주소 얻기
예를 들어 일부 내부 알고리즘에 따라 클라이언트간에 자원을 배포하는 경우 모든 클라이언트가 항상 동일한 리소스를 수신하는 것을 원하지 않습니다 (즉, '오늘의 구문'을 코딩하여 무작위로 배포한다고 가정 해 봅시다) :
는먼저 호출 : GET/자원
는200 OK
{
"_links" : { "self" : "/resources/1" },
"data" : "foo"
}
는
두 번째 전화 : GET/자원
200 OK
{
"_links" : { "self" : "/resources/2" },
"data" : "bar"
}
또는이다 더 나은 0을 제공하는links
개체를 콘크리트 리소스로 반환하고 두 번째 호출을합니까?
GET은 멱등해야합니다 - 귀하의 링크 "요청이 완료된 후 멱등 시스템의 상태를 참조에 따르면 https://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Safe_methods – Squidly
를 참조하면서 있도록 조치 서버가 걸리거나 (예 : 레코드 삭제) 응답 코드는 후속 요청에서 달라질 수 있습니다. " –
"PUT "과"DELETE "를 잘못 읽었습니다.'GET'요청은 로깅, 캐싱, 배너 광고 제공 또는 웹 카운터 증가와 같은 상대적으로 무해한 효과를 뛰어 넘는 부작용이 없어야합니다. 여기 웹 카운터는 방문자의 양을 추적하는 것입니다. – Squidly