내 API에서 HATEOAS을 구현하는 방법에 대해 머리를 쓰려고합니다. 나는 현재 상황에서 적절한 행동 만 클라이언트에게 제공하는 개념 중 하나를 좋아한다. 그러나 나는이 아이디어를 올바르게 구현하는지 잘 모르겠습니다. HATEOAS 및 링크/동작
이의 내가 변경할 수있는 상태로 자원 유형 위해 있다고 가정 해 봅시다, 그것은 다양한 상태를 가질 수있다 ( 이 감소, 처리, 이 받아, 성공, 만료). 다음 json 객체를 생성해야합니까?{
...
"links": {
"accept": "http://example.com/order/1/accept",
"decline": "http://example.com/order/1/decline"
}
}
여기에 불필요한 작업이 있습니까? 위의 내용이 맞다면 패치 나 GET으로 상태를 변경해야합니까? 그리고 만약 그것이 패치라면, 어떻게 하이퍼 미디어의 목적을 물리 칠 수 있을까요?
편집 :이의 내가 그것을 다른 상태를 (처리, 승인, 거부, 성공 만료 수, 변경할 수있는 상태로 자원 유형의 순서가 있다고 가정 해 봅시다 주문 ID
귀하의 철저한 답변에 감사드립니다 (귀하가 옳은 리소스 ID를 추가하는 것을 잊어 버렸습니다). 위의 내용을 읽으면서 PATCH를 선택하십시오. 패치의 json 페이로드는 무엇입니까? 다음과 같이합니다. PATCH : http://example.com/order/1/accept {status : "accept"}? – adnan
아니요, 새로운 리소스를 가져올 것입니다. PATCH를해야한다면, PATCH media type을 선택해야합니다. 아마도 : https://tools.ietf.org/html/rfc6902 – VoiceOfUnreason
오, 오, 오, 미안하다. 그래서 PUT : 페이로드 {status : "accept"}가있는 example.com/order/1/accept. 아니면 다른 페이로드를 추천 하시겠습니까? – adnan