Mối quan hệ và sự khác biệt giữa HAL và HATEOAS


78

HATEOAS (Hypermedia as the Engine of Application State) và HAL (Hypertext Application Language) dường như có liên quan nhưng không hoàn toàn giống nhau. Mối quan hệ và sự khác biệt giữa HATEOAS và HAL là gì?

Câu trả lời:


99

HATEOAS là một khái niệm về kiến trúc ứng dụng . Nó xác định cách thức mà các ứng dụng khách tương tác với máy chủ, bằng cách điều hướng các liên kết siêu phương tiện mà chúng tìm thấy bên trong các mô hình tài nguyên do máy chủ trả về.

Để triển khai HATEOAS, bạn cần một số cách biểu diễn tài nguyên tiêu chuẩn, sẽ chứa thông tin siêu phương tiện (liên kết đến các tài nguyên liên quan), ví dụ như sau:

{
    "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 là một trong những tiêu chuẩn như vậy. Đây là một định dạng cụ thể của trình bày tài nguyên, có thể được sử dụng để triển khai HATEOAS.

Bạn hoàn toàn có thể triển khai HATEOAS mà không cần tuân theo HAL nếu bạn muốn theo một tiêu chuẩn khác hoặc sử dụng tiêu chuẩn của riêng bạn.


6
Ngoài HAL, bạn biết những tiêu chuẩn nào?
Lee Chee Kiam

16
bộ sưu tập + json và ít nhất một vài của người khác
astreltsov

3
Ngoài ra còn có bộ sưu tập + JSON , JSON-LD và việc sử dụng các tiêu đề liên kết .
RAM
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.