Rest Api — Что Такое Hateoas?

Это пятая статья из серии статей о REST API:

  • Введение в REST API — веб-службы RESTful
  • Различия между REST и SOAP
  • Разработка REST API: что такое контракт прежде всего?
  • Разработка REST API. Что такое код прежде всего?
  • REST API — Что такое HATEOAS?
  • Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring
В этой статье вы продолжите изучать REST API и узнаете о HATEOAS. При просмотре веб-страницы вы можете просматривать данные на ней и выполнять с ними действия.

А как насчет REST API? Обычно, когда вы запрашиваете ресурс REST, вы получаете обратно информацию о ресурсе.

Как насчет отправки операций, которые вы можете выполнить с ресурсом в ответе?

REST API — Что такое HATEOAS?



Ты выучишь:

  • Что такое ХАТЕОАС?
  • Почему вам следует использовать HATEOAS?
  • Когда использовать HATEOAS?


Что означает ХАТЕОАС?

Срок ХАТЕОАС означает фразу " ЧАС гипермедиа А с Т он ? двигатель О ж А приложение С tate» (Гипермедиа как двигатель состояния приложения).

Чтобы понять это дальше, нам сначала нужно понять значение гипермедиа.

Взгляните на следующую веб-страницу:

REST API — Что такое HATEOAS?

Когда браузер загружает страницу, вы определенно можете увидеть весь контент, который может предложить эта страница.

Что еще более интересно, страница также позволяет вам делать с этими данными множество вещей, например:

  • Нажатие кнопок (зеленые «Клонировать» или «Скачать»)
  • Нажатие на вкладки (например, для просмотра «Проблемы»)
  • и еще несколько
Теперь давайте посмотрим, как ведут себя наши REST API: Если вы посмотрите на типичный запрос GET к серверу RESTful, например:

REST API — Что такое HATEOAS?

Запрос ПОЛУЧАТЬ локальный хост :8080/пользователей в этом случае получает набор данных трех пользователей.

Отправив запрос с помощью ПОЛУЧАТЬ локальный хост :8080/пользователей/1 , вы получите информацию только о первом пользователе.

Обычно, когда мы делаем запрос REST, мы только получаем данные и ничего с ними не делаем.

Именно здесь HATEOAS заполняет этот пробел.

Запрос HATEOAS позволяет не только отправлять данные, но и указывать сопутствующие действия:

REST API — Что такое HATEOAS?

Этот пример был в формате JSON. Формат XML для другого примера будет выглядеть примерно так:

REST API — Что такое HATEOAS?

Отправив этот запрос на получение данных учетной записи, вы получите оба:

  • Номер счета и детали баланса
  • Ссылки, которые предоставляют действия по пополнению/выводу/переводу/закрытию
С помощью HATEOAS запрос к ресурсу REST предоставляет мне как данные, так и действия, связанные с данными.



Зачем нам ХАТЕОАС?

Единственная и наиболее важная причина HATEOAS — это слабая связь.

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

Вместо этого, если вы вернете URL-адреса, которые он может использовать для действий, он будет слабо связан.

Строгой зависимости от структуры URI, указанной и используемой в ответе, нет. Несколько важных тем, связанных с HATEOAS:

HAL — язык гипертекстовых приложений

При разработке службы RESTful вам необходимо указать, как возвращать данные и ссылки, соответствующие запросу.

HAL — это формат, который обеспечивает простой и последовательный способ создания гиперссылок между ресурсами в вашем REST API. Вот пример:

REST API — Что такое HATEOAS?

С HAL у вас есть несколько категорий представлений:

  • Ссылки (Ссылки): указаны как комбинация
  • Цель (Цель) — указан как URI
  • Отношение - имя
  • Встроенные ресурсы (Встроенные ресурсы): другие ресурсы, содержащиеся в этом ресурсе REST.
  • Состояние: фактические данные о ресурсах
Если вы используете Spring Framework для разработки службы REST, то Spring HATEOAS — хороший механизм для вашей службы.

На этот вопрос есть авторские права видео .



Краткое содержание

В этой статье мы рассмотрели, что означает HATEOAS. С помощью HATEOAS ответы на запросы REST возвращают не только данные, но и действия, которые можно выполнить с ресурсом.

Это помогает сделать приложения слабосвязанными.



Дальнейшее чтение

REST + MongoDB + HATEOAS? Службы HATEOAS REST со Spring Spring HATEOAS: API-интерфейсы Hypermedia с Spring (добавил переводчик) Теги: #api #rest #restful #веб-сервисы
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.