Взаємозв'язок та різниця між HAL та HATEOAS


78

HATEOAS ( Hypermedia як двигун стану програми) та HAL (Hypertext Application Language), схоже, пов’язані, але не зовсім однакові. Який взаємозв’язок та різниця між HATEOAS та HAL?

Відповіді:


99

HATEOAS - це концепція архітектури додатків . Він визначає спосіб взаємодії клієнтів додатків із сервером шляхом навігації гіпермедіа-посиланнями, які вони знаходять у моделях ресурсів, що повертаються сервером.

Для реалізації HATEOAS вам потрібен якийсь стандартний спосіб представлення ресурсів, який міститиме інформацію про гіпермедіа (посилання на пов’язані ресурси), наприклад, приблизно так:

{
    "links": {
        "self": { "href": "http://api.com/items" },
        "item": [
            { "href": "http://api.com/items/1" },
            { "href": "http://api.com/items/2" }
        ]
    },
    "data": [
            { "itemName": "a" }, 
            { "itemName": "b" } 
    ] 
}

HAL - один із таких стандартів. Це специфічний формат подання ресурсів, який може бути використаний для реалізації HATEOAS.

Ви можете повністю впровадити HATEOAS, не дотримуючись HAL взагалі, якщо ви віддаєте перевагу дотримуватися іншого стандарту або використовувати свій власний.


6
Окрім HAL, які стандарти ви знаєте?
Lee Chee Kiam

16
Там в колекцію + JSON і принаймні кілька з інших
astreltsov

3
Існує також колекція + JSON , JSON-LD та використання заголовків посилань .
RAM
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.