Hypertext Application Language
Erscheinungsbild
Hypertext Application Language (HAL) ist ein Internet-Draft zur Definition von Hypermedia, wie beispielsweise Links zu externen Ressourcen innerhalb von JSON oder XML-Code. Der Standard wurde ursprünglich im Juni 2012 speziell für die Verwendung mit JSON vorgeschlagen und ist seitdem in zwei Varianten verfügbar: JSON und XML; allerdings ist die letzte Version des HAL-Entwurfs am 12. November 2016 verfallen. Die beiden zugehörigen MIME-Typen sind application/hal+xml und application/hal+json.
Beispiele
Resource
{
"_links": {
"self": {
"href": "http://example.com/api/book/hal-cookbook"
}
},
"id": "hal-cookbook",
"name": "HAL Cookbook"
}
Eingebettete Resource
{
"_links": {
"self": {
"href": "http://example.com/api/book/hal-cookbook"
}
},
"_embedded": {
"author": {
"_links": {
"self": {
"href": "http://example.com/api/author/shahadat"
}
},
"id": "shahadat",
"name": "Shahadat Hossain Khan",
"homepage": "http://author-example.com"
}
},
"id": "hal-cookbook",
"name": "HAL Cookbook"
}
Liste
{
"_links": {
"self": {
"href": "http://example.com/api/book/hal-cookbook"
},
"next": {
"href": "http://example.com/api/book/hal-case-study"
},
"prev": {
"href": "http://example.com/api/book/json-and-beyond"
},
"first": {
"href": "http://example.com/api/book/catalog"
},
"last": {
"href": "http://example.com/api/book/upcoming-books"
}
},
"_embedded": {
"author": {
"_links": {
"self": {
"href": "http://example.com/api/author/shahadat"
}
},
"id": "shahadat",
"name": "Shahadat Hossain Khan",
"homepage": "http://author-example.com"
}
},
"id": "hal-cookbook",
"name": "HAL Cookbook"
}