Köprü Metni Uygulama Dili - Hypertext Application Language

Köprü Metni Uygulama Dili ( HAL ), JSON veya XML kodu içindeki harici kaynaklara bağlantılar gibi hiper ortamları tanımlamak için bir İnternet Taslağı ("devam eden bir çalışma") standart kuralıdır (ancak, HAL Internet-Draft'ın en son sürümünün süresi 12 Kasım'da sona ermiştir, 2016.). Standart ilk olarak Haziran 2012'de özellikle JSON ile kullanım için önerildi ve o zamandan beri JSON ve XML olmak üzere iki varyasyonda kullanıma sunuldu. İlişkili iki MIME türü ortam türüdür: application/hal+xml ve ortam türü: application/hal+json.

HAL, projenin nasıl yapılandırılacağına ilişkin herhangi bir gereklilik getirme gereğini ortadan kaldırarak, kullanımı basit ve farklı etki alanları arasında kolayca uygulanabilir olacak şekilde oluşturulmuştur. Bu minimum etki yaklaşımını sürdüren HAL, geliştiricilerin HAL kullanan herhangi bir API'ye kolayca dahil edilebilecek genel amaçlı kitaplıklar oluşturmasını sağladı .

HAL'ı benimseyen API'ler, açık kaynak kitaplıklarının kullanımını basitleştirir ve JSON veya XML kullanarak API ile etkileşime girmeyi mümkün kılar . Alternatif, müseccel bir format geliştirmek zorunda kalacak ve bu da geliştiricileri başka bir yabancı formatı nasıl kullanacaklarını öğrenmeye zorlayacaktır.

ortak düşünce

HAL, öğeleri iki kavrama dayalı olarak temsil edecek şekilde yapılandırılmıştır: Kaynaklar ve Bağlantılar. Kaynaklar, URI bağlantılarından, gömülü kaynaklardan, standart verilerinizden (JSON veya XML olabilir) ve URI olmayan bağlantılardan oluşur. Bağlantıların bir hedef URI'si ve bağlantının adı ('rel' olarak anılır) ve ayrıca kullanımdan kaldırma ve içerik anlaşmasını dikkate almak üzere tasarlanmış isteğe bağlı özellikler vardır.

Örnek

Genel Kaynak

{
  "_links": {
    "self": {
      "href": "http://example.com/api/book/hal-cookbook"
    }
  },
  "id": "hal-cookbook",
  "name": "HAL Cookbook"
}

Gömülü kaynak

{
  "_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"
}

Koleksiyonlar

{
  "_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"
}

Ayrıca bakınız

Referanslar

Dış bağlantılar