2014-01-26 5 views
2

우리의 REST API를 디자인하기위한 토론에서 동료 개발자 중 한 명은 부분 응답이 RESTful이 아니라고 말했습니다. 예 :/forums/{forum_id}/users에 대한 응답을 보내는 동안 사용자 이름과 아바타 사진 만 반환합니다. 누군가가 사용자에 대한 자세한 정보를 원하면 {연령, 위치, 점수 _ 점수 등.}을 보냅니다. ember-data를 사용하여이를 모델링하는 동안 우리는 https://github.com/emberjs/data/issues/51 에 언급 된 문제에 착수했습니다. 개발자가 부분 응답이 RESTful 설계에 위배된다는 것을 지적한 시점의 문제입니다. 그러나 REST 책이나 인터넷에서 이러한 정보를 찾을 수 없었습니다. 또한 Google은 실제로 RESTful API에서 부분 응답을 사용하며이를 사용하는 사용자가 많다는 사실을 발견했습니다.부분 응답 un-RESTful입니까

그래서 RESTful 서비스 나 디자인 선택 문제에 대해서는 부분 응답 (실제로는 위와 같음)을 사용하지 않는 것이 좋습니다.

답변

-1

일반적인 오해와는 달리, REST는 동일한 정확한 리소스를 읽고 쓰는 것을 강요하지 않습니다.

CouchDB는가는 길에 정말 좋은 예입니다. 이 처리 다음으로부터 계산

  • "개체"를 생성 할 수있다 (일명 "문서"), 판독 업데이트 및 를 삭제
  • 및 "보기" 문서는 이어야하며입니다.

/forums/01a0/users은 "보기"이고 /user/99a7은 "개체"입니다.

+0

안녕 Aurélien, 당신이 말하는 것은 괜찮습니다. 하지만 내가 알고 싶은 건, 내 API에서 리소스의 일부 뷰 (예 : Person의 이름을 반환하는 것)를 반환하면 REST 원칙을 위반합니까? – Rahul

+0

@Rahul 포럼 사용자를 나열하는 "보기"에는 각 사용자에 대한 부분 정보 (예 : 이름 및 아바타 그림)가있을 수 있습니다. –

+0

다른 리소스에서 가져온 데이터를 업데이트 할 수있는 리소스에 혼합하는 것이 고통입니다 (특히 캐시 용). 읽기 전용 "보기"에서는 문제가 훨씬 간단합니다. –

관련 문제