Пример:
Скажем, база данных содержит 20 Group
объектов.
1) Клиент отправляет запрос API GET к конечной точке /groups
с действительным токеном аутентификации. Намерение клиента - получить список всех Group
объектов в базе данных.
2) Сервер проверяет авторизацию пользователей API. Пользователю разрешен доступ только к Group
объектам, с которыми они связаны, которым принадлежат или которым владеют.
3) Сервер извлекает все Groups
, которые удовлетворяют этому критерию в (2). Скажем, это касается 8 Group
объектов. Сервер форматирует результаты и отправляет ответ пользователю API.
Вопрос:
Существует ли стандартный или рекомендуемый способ «REST API», позволяющий пользователю узнать, что он видит только 8 из 20 возможных Group
объектов? В моем приложении было бы удобно отображать в клиентском приложении «вы просматриваете 8 из 20 групп из-за вашего уровня безопасности» или «Потенциально ограниченный набор результатов безопасности».
Кажется, что ни один из кодов ответов HTTP не допускает этого - 206 PARTIAL CONTENT
, если пользователь ЗАПРОСИЛ частичное содержимое, а сервер говорит: «Да, я даю вам частичное содержимое, есть еще что дать».
Создание пользовательского формата тела ответа для API достаточно просто, но я хочу проверить, существуют ли какие-либо принятые методы, или это просто считается нет-нет. Возможно, у меня была еще одна идея, предусматривающая вариант GET /groups?count=true
, при котором сервер возвращал бы истинное количество Group
объектов в базе данных вместе с ограниченным набором результатов Group
объектов.