Jak możemy obsłużyć pustą kolekcję na interfejsie RESTful, z nagłówkiem Content-Range's items?Puste zbiory i nagłówki HTTP Zakres zawartości
Na przykład, mając 42 zapisy, żądanie Range: items=0-41
zwróci wszystko, a nagłówek odpowiedzi będzie następujący: Content-Range: items 0-41/42
.
Jak jednak postępować z nagłówkiem Content-Range
, gdy nie ma żadnych rekordów? Dzięki za pomoc.
Edit:
Znaczy, wracając pustą kolekcję, serwer może chcieć wrócić Content-Range: items x-y/0
, gdzie x
i y
to wartość, która byłaby inna niż 0. Ale który? Myślę, że jest to pytanie przyklejone, a specyfikacja nie wspomina o tym.
Naprawdę? Całkowicie inny kod statusu, gdy kolekcja jest pusta? Spodziewałbym się statusu 200 z pustą tablicą jako wynik. "Treść-Zakres: */0" ma jednak sens. –
Patrząc w to trochę więcej, myślę, że status 416 był przeznaczony, gdy żądanie zawiera nagłówek 'Range', który określa nieprawidłowy zakres. Jeśli jednak nie określono zakresu, nadal chcesz zastosować zakres domyślny. Osobiście uważam, że 416 jest bardzo nieprzyjazny, nawet jeśli określono zakres. Jeśli poprosię o 'Range: 0-99', po prostu chcę dostać pierwszą" stronę "100 pozycji. Kogo to obchodzi, jeśli faktycznie jest mniej? Przeczytam nagłówek odpowiedzi, żeby to zrozumieć. Ale jeśli zwróci status 416, zmuszamy klienta do żądania najpierw łącznej liczby wyników osobno. To nie ma sensu. –
Myślę, że 416 ma sens, jeśli * początek * zakresu był poza zasięgiem. Jednak, aby zmusić klientów, aby jako pierwsi uzyskali łączną wartość, aby mogli dopasować * koniec * zakresu, aby pozostać w sumie, kończy się to bardzo nieintuicyjnym (i powolnym) API. –