2017-04-01 9 views
5

REST API에서 항목에 대한 사용자 별 데이터를 처리하는 가장 효율적인 방법은 무엇입니까?REST API의 항목에 대한 사용자 별 데이터

예를 들어, item 개의 리소스가 있다고 가정 해 봅시다.

:에서 제공 될 것

{ 
    { 'name': 'name 1' }, 
    { 'name': 'name 2' }, 
} 

각 항목이 사용자 (https://myservice.com/api/user/{id})에 의해 favourited 될 수 있으며, 이러한 즐겨 찾기 목록을 반환

https://myservice.com/api/items (Full list) 
https://myservice.com/api/items/{id} (Single item) 

: 항목의 목록에 액세스 할 수 있습니다

https://myservice.com/api/user/{id}/favorites 

이 전체 설정은 상태 비 저장입니다. 그러나 수백 가지 즐겨 찾기가있을 수 있으며 전체 목록을 검색하는 것은 필요하지 않을 수 있습니다.

Q : 상태 비 저장 시스템을 유지하면서 항목을 사용자 특정 데이터와 결합하는 가장 좋은 방법은 무엇입니까? 특정 사용자와 아이템을 얻는 결합하는 가장 좋은 방법이 무엇인지 비 저장 시스템을 유지하면서

https://myservice.com/api/items?user={id} 
{ 
    { 'name': 'name 1', 'isFavourite':true }, 
    { 'name': 'name 2', 'isFavourite':false }, 
} 

답변

0

:

즉 그것은 항목의 사용자 별 목록을 얻으려면, 분별, 또는 그럴듯 데이터?

웹 사이트에서 어떻게 할 것인지 생각해보십시오. 그게 당신이 REST에서하는 방법입니다. 시스템을 읽을 수있게 만들면됩니다.

이 전체 설정은 상태 비 저장입니다. 그러나 수백 가지 즐겨 찾기가있을 수 있으며 전체 목록을 검색하는 것은 필요하지 않을 수 있습니다.

이 경우 목록을 여러 리소스에 분산시킨 다음 paging을 사용하여 소비자가 목록의 다음/이전 페이지를 반환하는 리소스를 찾는 데 도움을 줄 수 있습니다.

는 분별, 또는 그럴듯는 물론 항목

의 사용자 별 목록을 얻을 수 있습니다. 인식해야 할 중요한 아이디어는 REST API가 통합 도메인의 일부라는 점입니다. 인 "웹 페이지"로 가득 찬 사이트로 가장하여 웹 리소스 조작을 애플리케이션의 액션/쿼리로 변환합니다.