Zum Inhalt springen

Hypertext Application Language

aus Wikipedia, der freien Enzyklopädie

Hypertext Application Language (HAL) ist ein RFC 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. 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"
}

Siehe auch