Для объяснения, рассматриваемая конечная точка GET не возвращает ресурс, это просто инструмент для возврата конкретной информации об известных датах.
Это ресурс в REST sense.
Ключевая абстракция информации в REST - это ресурс.Любая информация, которая может быть названа, может быть ресурсом: документ или изображение, временная служба (например, «сегодняшняя погода в Лос-Анджелесе»), коллекция других ресурсов, не виртуальный объект (например, человек) и т. Д.,Другими словами, любая концепция, которая может быть целью гипертекстовой ссылки автора, должна соответствовать определению ресурса.Ресурс - это концептуальное отображение набора сущностей, а не сущности, которая соответствует сопоставлению в любой конкретный момент времени.
В частности, тот факт, что что-то является ресурсом, не существует ни в одномспособ зависит от реализации, используемой для обеспечения представления ресурса.
, если пользователь делает запрос на дату, которая выходит за пределы (или до) загруженного диапазона дат, как следуетответ API?
Обычно, возвращая тело сообщения, которое объясняет клиенту, в чем проблема, и включая в метаданные код ответа, который указывает характер ответа на общие компоненты.
В частности, вы хотите обратить внимание на то, как кэши должны взаимодействовать с вашим ответом, учитывая, что они будут смотреть только на метаданные, а не на полезную нагрузку.
В большинстве случаев, подобных этому, вы хотите сообщить об ошибке и указать кешам хранить ответ для latпоэтому используйте .
Поэтому вы захотите использовать код состояния 404 Не найдено .
Код состояния 404 (Не найдено) указывает на то, чтоисходный сервер не нашел текущего представления для целевого ресурса или не хочет раскрывать, что он существует.
404
, по сути, является намеком на то, что написание target-uriнеправильно или что клиент не должен был запрашивать этот конкретный ресурс.В любом случае это проблема с запросом, и ее следует обрабатывать таким образом.
Попытка выполнить точно такой же запрос в другое время (когда данные за эту дату были загружены) приведет куспешный ответ.
Обратите внимание, что стандарт HTTP явно указывает на тот факт, что 404
может использоваться в временных условиях:
AКод состояния 404 не указывает, является ли это отсутствие представления временным или постоянным