일반적으로 메타 데이터로 결과의 레코드 수를 반환합니다. 이것이 정상적인 REST 연습인지 확실하지 않지만 추가 데이터는 많지 않으며 매우 정확합니다. 일반적으로 많은 서비스에 대해 페이지 매김이 발생하므로 한 번에 큰 결과 집합을 반환하는 것은 비현실적입니다. 작은 결과 집합에 대한 페이지 매김이있을 때 개인적으로 화가납니다 . number_of_records : 0
비어 있으면 빈 목록 / 배열로 반환 하고 예약하십시오 books : []
.
{
meta: {
number_of_records : 2,
records_per_page : 10,
page : 0
},
books : [
{id:1},
{id:27}
]
}
편집 (몇 년 후) : Martin Wickman의 답변이 훨씬 낫습니다. 여기에 왜 설명이 부족합니다.
페이지 매김을 다룰 때 항상 내용의 가능성이나 순서 변경을 염두에 두십시오. 마찬가지로 첫 번째 요청은 24 개의 결과가 나오고 첫 번째 10이 반환됩니다. 그런 다음 "새 책"이 삽입되고 이제 25 개의 결과가 있지만 원래 요청의 경우 10 위로 주문됩니다. 첫 번째 사용자가 두 번째 페이지를 요청하면 "새 책"을받지 못합니다. 다음과 같은 API 호출로 전송해야하는 "요청 ID"를 제공 한 다음 "이전"결과 세트에서 다음 페이지를 반환하는 것과 같은 문제를 처리하는 방법이 있습니다.이 방법은 어떻게 든 저장되고 "요청 ID"에 연결되어야합니다. 대안은 "첫 번째 요청 이후 결과 목록이 변경되었습니다"와 같은 필드를 추가하는 것입니다.
일반적으로 가능하다면 추가 노력을 기울이고 페이지 매김을 피하십시오. 페이지 매김은 변경 될 수있는 추가 상태이며 이러한 변경 사항을 추적하면 오류가 발생하기 쉬우므로 서버와 클라이언트가 모두 처리해야하기 때문입니다.
한 번에 처리 할 데이터가 너무 많은 경우 해당 목록의 일부 청크에 대한 모든 결과 및 세부 사항과 함께 "id list"를 리턴하고 자원에 대한 multi_get / get_by_id_list API 호출을 제공하십시오.