Подтвердить что ты не робот

Связь и разница между HAL и HATEOAS

HATEOAS (Hypermedia как механизм состояния приложения) и HAL (язык приложений гипертекста) похоже, связаны друг с другом, но не совсем то же самое. Какова связь и разница между HATEOAS и HAL?

4b9b3361

Ответ 1

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 вообще, если вы предпочитаете следовать другому стандарту или использовать свой собственный.