나는 이것을 가능한 한 간단하게하려고 노력할 것이다. 그것은 일종의 멍청한 질문 일 수있다.REST : 같은 요청으로 행을 업데이트하고 0 개 이상의 다른 리소스를 만드는 방법은 무엇입니까?
7 세 웹 응용 프로그램 (헬프 데스크 소프트웨어)을 다시 작성하고 있습니다. 다른 클라이언트 웹 브라우저 및 모바일 앱에서 사용하려면 REST API로 만들어야합니다. 또한 현재 잘 작동하고있는 원본에 비즈니스 논리를 최대한 가깝게 유지해야합니다.
REST에 대한 현재의 투쟁 다음이 자원의 status_id
이 변화의 기록이 저장 될 필요가 변경되면
내가 필요로하는 업데이트하는 것입니다은 자원이, /tickets/47321
말할 수 모두 all-or-nothing 일 필요가 있기 때문에 동일한 DB 트랜잭션에서. 이것은 원래의 응용 프로그램이 작동하는 방식이며 우리는이 동작을 유지하려고합니다.
그래서 질문은 :
수 있습니까 tickets/47321
(status_id
이 다른 경우) 서버에 존재하는 자원을 업데이트하고 역사 변화의 새로운 기록을 만들 수있는 모든 자원 또는 부분 상태 표시 및 반환에 PUT
그들 모두 다시 JSON으로 클라이언트 :
{
ticket: {}, // new ticket state
history: {} // the new created record of history change
}
이 방법은 클라이언트가 ticket
를 업데이트하고 어떤 존재 리턴이있는 경우 역사 변화의 목록에 역사를 추가 할 수 있습니까?
예, 가능합니다. Java에서 가벼운 REST 프레임 워크에는 Restlet과 JAX-RS가 포함되어 있으며 Spring은 무거운쪽에 좋은 것이 있습니다. –
REST API에서 이와 같은 현상이 발생합니까? 'PUT'에 부분적인 표현을 보내고 전체 리소스를 업데이트하는 것은 어떨까요? –
왜 부분 표현을 보내시겠습니까? –