ハイパーテキストアプリケーション言語

提案されたコンピュータ定義標準

ハイパーテキストアプリケーション言語HAL )は、 JSONまたはXMLコード内で外部リソースへのリンクなどのハイパーメディアを定義するための規約です。インターネットドラフト(「進行中」)として文書化されており、最新バージョン11は2023年10月10日に公開されました。この標準規格は、2012年6月にJSONでの使用を前提として最初に提案されました[1]。その後、JSONとXMLの2つのバリエーションが利用可能になりました。関連する2つのMIMEタイプは、application/hal+xmlとapplication/hal+jsonです[2] 。

HALは、プロジェクトの構造に制約を課すことなく、使いやすく、様々な分野に容易に適用できるように設計されました。この影響を最小限に抑えるアプローチを維持することで、開発者はHALを使用するあらゆるAPIに組み込むことができる汎用ライブラリを作成できるようになりました。[要出典]

HALを採用したAPIはオープンソースライブラリの利用を簡素化し、JSONまたはXMLを使用してAPIとやり取りすることを可能にします。そうでなければ、独自のフォーマットを開発する必要があり、開発者は別の外部フォーマットの使い方を習得する必要に迫られることになります。[3]

大会

HALは、リソースとリンクという2つの概念に基づいて要素を表現するように構造化されています。リソースは、 URIリンク、埋め込みリソース、標準データ(JSONまたはXML)、および非URIリンクで構成されます。リンクには、ターゲットURI、リンク名(「rel」と呼ばれます)、そして廃止やコンテンツネゴシエーションを考慮して設計されたオプションのプロパティがあります。[3]

一般リソース

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

埋め込みリソース

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

コレクション

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

参照

参考文献

  1. ^ Kelly, Mike (2012年6月7日). 「JSONハイパーテキストアプリケーション言語」. IETF . 2018年10月16日閲覧
  2. ^ リチャードソン, レナード; ルビー, マイク・アムンドセン; サムによる序文 (2013). "7". RESTful Web API (初版). セバストポル, カリフォルニア州: O'Reilly. ISBN 978-1-4493-5806-8{{cite book}}: CS1 maint: 複数の名前: 著者リスト (リンク)
  3. ^ ab Kelly, Mike (2011-06-13). 「HAL - ハイパーテキストアプリケーション言語 軽量ハイパーメディアタイプ」2014年7月23日閲覧
  • JSONハイパーテキストアプリケーション言語の最新ドラフト
「https://en.wikipedia.org/w/index.php?title=Hypertext_Application_Language&oldid=1276538441」より取得