Я хотел, чтобы в этой статье были рассмотрены шаблоны проектирования RESTful и что значит иметь RESTful API. Проверьте ниже, что будет покрыто.

Что будет покрыто

  • История REST, создатель/автор.
  • Что значит быть RESTful.
  • ОТДЫХ и HTTP
  • Бонус

Что такое ОТДЫХ?

REST — это аббревиатура от REпрезентационного Sсостояния. Tперенос. Это архитектурный стиль для распределенных гипермедиа-систем, впервые представленный Роем Филдингом в 2000 году в рамках его диссертации.

Что значит быть RESTful?

Архитектурный стиль Роя Филдинга для REST содержит ряд рекомендаций, которым необходимо соответствовать, если API можно назвать RESTful. Ниже вы найдете общий обзор этих рекомендаций. Для получения более подробной информации ознакомьтесь со ссылками на объяснение г-на Филдинга о том, что такое RESTful.

1. Клиент-сервер

Вам нужно будет отделить проблемы с пользовательским интерфейсом от хранилища данных. Благодаря этому мы улучшаем переносимость пользовательского интерфейса на несколько платформ и масштабируемость за счет упрощения серверных компонентов.

2. Без гражданства

Для каждого запроса клиентский сервер должен содержать всю информацию, необходимую для понимания запроса, и не может использовать какой-либо сохраненный контекст на сервере. Таким образом, состояние сеанса полностью сохраняется на клиенте.

3. Кэшируемый

Ограничения кэша требуют, чтобы данные в ответе на запрос были явно или неявно помечены как кэшируемые или некэшируемые. Если ответ можно кэшировать, клиентскому кешу предоставляется право повторно использовать эти данные ответа для более поздних эквивалентных запросов.

4. Единый интерфейс

Применяя принцип общности программной инженерии к интерфейсу компонентов, общая архитектура системы упрощается, а наглядность взаимодействий улучшается. Чтобы получить единый интерфейс, необходимо несколько архитектурных ограничений, определяющих поведение компонентов. REST определяется четырьмя ограничениями интерфейса: идентификацией ресурсов; манипулирование ресурсами через представления; самоописательные сообщения; и гипермедиа как двигатель состояния приложения.

5. Многоуровневая система

Стиль многоуровневой системы позволяет архитектуре состоять из иерархических уровней, ограничивая поведение компонентов таким образом, что каждый компонент не может «видеть» за пределами непосредственного уровня, с которым он взаимодействует.

6. Код по запросу (необязательно)

REST позволяет расширять функциональные возможности клиента за счет загрузки и выполнения кода в виде апплетов или сценариев. Это упрощает работу с клиентами за счет уменьшения количества функций, которые необходимо предварительно реализовать.

Ресурсы: