Я привязываю интерфейс REST к существующему приложению, и мне интересно, какое наиболее подходящее решение - иметь дело с ресурсами, которые возвращают чрезмерное количество данных, если они должны быть получены.
Приложение представляет собой существующую систему расписания, а одним из ресурсов является набор пользовательских "временных интервалов". Пример URI для этих ресурсов:
/users/44/timeslots/
Я прочитал много вопросов, которые касаются того, как обеспечить фильтрацию этого ресурса для получения подмножества, и у меня уже есть решение для этого.
Я хочу знать, как (или если) я должен иметь дело с ситуацией, когда выдача GET в URI выше вернет мегабайты данных из десятков или сотен тысяч строк и займет достаточное количество серверного ресурса для фактического ответьте в первую очередь.
- Существует ли HTTP-запрос, который используется конвенцией в этих ситуациях?
Я нашел HTTP-код 413, который относится к объекту Request, который слишком велик, но не тот, который был бы подходящим, когда объект Response был бы слишком большим. - Есть ли альтернативное соглашение для ограничения ответа или сообщения клиенту, что это глупый запрос?
- Должен ли я просто позволить серверу выполнить этот массивный запрос?
РЕДАКТИРОВАТЬ: Чтобы быть ясным, у меня есть фильтрация и разбиение реализованного ресурса и рассмотрены разбиение на страницы на другие большие ресурсы коллекции. Я хочу адекватно реагировать на запросы, которые не имеют смысла (и, очевидно, был запрошен клиентом, создающим URI).