Это пятая статья из серии статей о REST API:
- Введение в REST API — веб-службы RESTful
- Различия между REST и SOAP
- Разработка REST API: что такое контракт прежде всего?
- Разработка REST API. Что такое код прежде всего?
- REST API — Что такое HATEOAS?
- Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring
А как насчет REST API? Обычно, когда вы запрашиваете ресурс REST, вы получаете обратно информацию о ресурсе.
Как насчет отправки операций, которые вы можете выполнить с ресурсом в ответе?
Ты выучишь:
- Что такое ХАТЕОАС?
- Почему вам следует использовать HATEOAS?
- Когда использовать HATEOAS?
Что означает ХАТЕОАС?
Срок ХАТЕОАС означает фразу " ЧАС гипермедиа А с Т он ? двигатель О ж А приложение С tate» (Гипермедиа как двигатель состояния приложения).Чтобы понять это дальше, нам сначала нужно понять значение гипермедиа.
Взгляните на следующую веб-страницу:
Когда браузер загружает страницу, вы определенно можете увидеть весь контент, который может предложить эта страница.
Что еще более интересно, страница также позволяет вам делать с этими данными множество вещей, например:
- Нажатие кнопок (зеленые «Клонировать» или «Скачать»)
- Нажатие на вкладки (например, для просмотра «Проблемы»)
- и еще несколько
Запрос ПОЛУЧАТЬ локальный хост :8080/пользователей в этом случае получает набор данных трех пользователей.
Отправив запрос с помощью ПОЛУЧАТЬ локальный хост :8080/пользователей/1 , вы получите информацию только о первом пользователе.
Обычно, когда мы делаем запрос REST, мы только получаем данные и ничего с ними не делаем.
Именно здесь HATEOAS заполняет этот пробел.
Запрос HATEOAS позволяет не только отправлять данные, но и указывать сопутствующие действия:
Этот пример был в формате JSON. Формат XML для другого примера будет выглядеть примерно так:
Отправив этот запрос на получение данных учетной записи, вы получите оба:
- Номер счета и детали баланса
- Ссылки, которые предоставляют действия по пополнению/выводу/переводу/закрытию
Зачем нам ХАТЕОАС?
Единственная и наиболее важная причина HATEOAS — это слабая связь.Если потребителю службы REST необходимо жестко запрограммировать все URL-адреса ресурсов, это тесно связано с реализацией вашей службы.
Вместо этого, если вы вернете URL-адреса, которые он может использовать для действий, он будет слабо связан.
Строгой зависимости от структуры URI, указанной и используемой в ответе, нет. Несколько важных тем, связанных с HATEOAS:
HAL — язык гипертекстовых приложений
При разработке службы RESTful вам необходимо указать, как возвращать данные и ссылки, соответствующие запросу.
HAL — это формат, который обеспечивает простой и последовательный способ создания гиперссылок между ресурсами в вашем REST API. Вот пример:
С HAL у вас есть несколько категорий представлений:
- Ссылки (Ссылки): указаны как комбинация
- Цель (Цель) — указан как URI
- Отношение - имя
- Встроенные ресурсы (Встроенные ресурсы): другие ресурсы, содержащиеся в этом ресурсе REST.
- Состояние: фактические данные о ресурсах
На этот вопрос есть авторские права видео .
Краткое содержание
В этой статье мы рассмотрели, что означает HATEOAS. С помощью HATEOAS ответы на запросы REST возвращают не только данные, но и действия, которые можно выполнить с ресурсом.Это помогает сделать приложения слабосвязанными.
Дальнейшее чтение
REST + MongoDB + HATEOAS? Службы HATEOAS REST со Spring Spring HATEOAS: API-интерфейсы Hypermedia с Spring (добавил переводчик) Теги: #api #rest #restful #веб-сервисы-
Сила
19 Oct, 24 -
Числа Фибоначчи
19 Oct, 24 -
Американские Горки
19 Oct, 24