변경할 수있는 속성 집합 및 변경 불가능한 서비스 집합 (예 : status
은 서비스에서 생성되며 클라이언트가 변경할 수없는 집합)이있는이 서비스의 리소스를 디자인하기 위해 노력하고 있습니다.RESTful 서비스는 변경 가능한 리소스에 읽기 전용 속성을 어떻게 표시해야합니까?
GET
리소스 요청에 대한 응답에 이것을 포함해야하지만 누군가가 PUT
요청 리소스를 보내는 경우 어떻게해야할지 잘 모릅니다.
호출자가 어떤 속성이 불변인지 알도록 강요하지만 자동으로 업데이트를 버리는 것은 잘못된 것으로 느낍니다. PUT
요청에 대한 업데이트 된 리소스로 응답하면 문제가 해결 될 수 있지만 속성이 승인되었는지 여부를 확인하기 위해 발신자가 요청과 서비스의 응답을 비교할 필요가 없으므로 불완전합니다.
앞으로 나아갈 생각이 있으십니까?
P. How should I update a REST resource?을 보았지만이 질문과 다른 점이 많고 지나치게 수다스러운 API 디자인을 권장합니다.
나는 이것이 아마도 움직이는 방법이라고 생각합니다. 만약 그들이 불변 속성을 변경하려한다면 그것은 409입니다. 그들이 그것을 내버려두면 우리는 그것들을 받아 들여 그것을 조용히 버립니다. 최종 상태는 예상과 일치하며 속성은 읽기 전용 상태로 유지됩니다. – ehdv