Как лучше всего передать информацию о нумерации страниц в RestController?
Почти каждый крупный поставщик услуг облачного хранения, такой как Google, Box, OneDrive, использует параметры запроса для передачи информации о нумерации страниц в веб-службы и обновления объекта ответа для дальнейшей передачи информации о следующей странице клиенту.
Несмотря на наличие стандартных заголовков HTTP, таких как Range и Link, а также пользовательских заголовков, люди обычно используют параметры запроса для передачи такой информации.
Использование таких стандартных заголовков для передачи информации о разбиении на страницы между клиентом и сервером делает стандартный ответ уникальным, поскольку нам не нужно передавать такую информацию через атрибуты ответа.
Итак, какова лучшая практика для реализации нумерации страниц в REST API? С заголовками HTTP или с параметрами запроса???
1 ответ
Согласно спецификации http:
Прокси МОЖЕТ отбросить поле заголовка Range, которое содержит единицу измерения, которую он не понимает. Это означает, что любой промежуточный прокси-сервер, включая кэширующие серверы, может выбросить ваш заголовок `Range до того, как он попадет на ваш сервер.
Заголовки ссылок не имеют ничего общего с нумерацией страниц.
Прокси-сервер ДОЛЖЕН пересылать нераспознанные поля заголовка, если [..] прокси-сервер не настроен специально для блокировки или иного преобразования таких полей. Я читал, что в качестве прокси-сервера можно настроить блокировку всех нераспознанных заголовков, что является той же проблемой, что и для
Range
заголовки.
Кроме того, использование параметров запроса для разбивки на страницы (предпочтительно смещение / ограничение) является стандартом. Если у вас есть веская причина, чтобы превзойти стандарт, это нормально. Недостатком является то, что каждый, кто использует ваш API, должен учиться тому, как что-то делать, в дополнение к тому, как это делают все остальные. Это снижает усыновление и увеличивает количество обращений в службу поддержки.