Knowledge

Hypertext Application Language

Source 📝

92:
links, embedded resources, your standard data (be it JSON or XML), and non URI links. Links have a target URI, as well as the name of the link (referred to as 'rel'), as well as optional properties designed to be mindful of deprecation and content negotiation.
46:(a "work in progress"), with the latest version 11 published the 10th of October 2023. The standard was initially proposed in June 2012 specifically for use with JSON and has since become available in two variations, JSON and XML. The two associated 57:
by avoiding the need to impose any requirements on how the project be structured. Maintaining this minimal impact approach, HAL has enabled developers to create general-purpose
650: 732: 634: 712: 73: 88:
HAL is structured in such a way as to represent elements based on two concepts: Resources and Links. Resources consist of
722: 54: 727: 717: 69: 58: 644: 77: 630: 43: 692: 603: 707: 701: 31: 668: 80:
which in turn forces developers to learn how to use yet another foreign format.
50:
types are media type: application/hal+xml and media type: application/hal+json.
27: 53:
HAL was created to be simple to use and easily applicable across different
625:
Richardson, Leonard; Ruby, Mike Amundsen; foreword by Sam (2013). "7".
572: 577: 76:
using JSON or XML. The alternative would be having to develop a
47: 35: 581: 89: 62: 39: 669:"HAL - Hypertext Application Language A lean hypermedia type" 399:"http://example.com/api/book/json-and-beyond" 441:"http://example.com/api/book/upcoming-books" 378:"http://example.com/api/book/hal-case-study" 357:"http://example.com/api/book/hal-cookbook" 200:"http://example.com/api/book/hal-cookbook" 133:"http://example.com/api/book/hal-cookbook" 72:
libraries and make it possible to interact with the
492:"http://example.com/api/author/shahadat" 251:"http://example.com/api/author/shahadat" 693:JSON Hypertext Application Language latest draft 420:"http://example.com/api/book/catalog" 8: 649:: CS1 maint: multiple names: authors list ( 629:(First ed.). Sebastopol, CA: O'Reilly. 662: 660: 68:APIs that adopt HAL simplify the use of 61:which can be easily incorporated on any 594: 642: 604:"JSON Hypertext Application Language" 531:"http://author-example.com" 290:"http://author-example.com" 16:Proposed computer definition standard 7: 733:World Wide Web Consortium standards 14: 519:"Shahadat Hossain Khan" 278:"Shahadat Hossain Khan" 26:) is a convention for defining 42:code. It is documented in an 20:Hypertext Application Language 1: 602:Kelly, Mike (7 June 2012). 749: 713:Data serialization formats 667:Kelly, Mike (2011-06-13). 30:such as links to external 558:"HAL Cookbook" 546:"hal-cookbook" 327: 317:"HAL Cookbook" 305:"hal-cookbook" 170: 160:"HAL Cookbook" 148:"hal-cookbook" 103: 450:"_embedded" 209:"_embedded" 723:XML markup languages 525:"homepage" 507:"shahadat" 284:"homepage" 266:"shahadat" 728:XML-based standards 468:"_links" 459:"author" 333:"_links" 227:"_links" 218:"author" 176:"_links" 168:Embedded resource 109:"_links" 78:proprietary format 636:978-1-4493-5806-8 405:"first" 101:General Resource 740: 718:Markup languages 680: 679: 677: 675: 664: 655: 654: 648: 640: 627:RESTful Web APIs 622: 616: 615: 613: 611: 599: 562: 559: 556: 553: 552:"name" 550: 547: 544: 541: 538: 535: 532: 529: 526: 523: 520: 517: 514: 513:"name" 511: 508: 505: 502: 499: 496: 493: 490: 487: 486:"href" 484: 481: 478: 477:"self" 475: 472: 469: 466: 463: 460: 457: 454: 451: 448: 445: 442: 439: 436: 435:"href" 433: 430: 427: 426:"last" 424: 421: 418: 415: 414:"href" 412: 409: 406: 403: 400: 397: 394: 393:"href" 391: 388: 385: 384:"prev" 382: 379: 376: 373: 372:"href" 370: 367: 364: 363:"next" 361: 358: 355: 352: 351:"href" 349: 346: 343: 342:"self" 340: 337: 334: 331: 321: 318: 315: 312: 311:"name" 309: 306: 303: 300: 297: 294: 291: 288: 285: 282: 279: 276: 273: 272:"name" 270: 267: 264: 261: 258: 255: 252: 249: 246: 245:"href" 243: 240: 237: 236:"self" 234: 231: 228: 225: 222: 219: 216: 213: 210: 207: 204: 201: 198: 195: 194:"href" 192: 189: 186: 185:"self" 183: 180: 177: 174: 164: 161: 158: 155: 154:"name" 152: 149: 146: 143: 140: 137: 134: 131: 128: 127:"href" 125: 122: 119: 118:"self" 116: 113: 110: 107: 748: 747: 743: 742: 741: 739: 738: 737: 698: 697: 689: 684: 683: 673: 671: 666: 665: 658: 641: 637: 624: 623: 619: 609: 607: 601: 600: 596: 591: 569: 564: 563: 560: 557: 554: 551: 548: 545: 542: 539: 536: 533: 530: 527: 524: 521: 518: 515: 512: 509: 506: 503: 500: 497: 494: 491: 488: 485: 482: 479: 476: 473: 470: 467: 464: 461: 458: 455: 452: 449: 446: 443: 440: 437: 434: 431: 428: 425: 422: 419: 416: 413: 410: 407: 404: 401: 398: 395: 392: 389: 386: 383: 380: 377: 374: 371: 368: 365: 362: 359: 356: 353: 350: 347: 344: 341: 338: 335: 332: 329: 323: 322: 319: 316: 313: 310: 307: 304: 301: 298: 295: 292: 289: 286: 283: 280: 277: 274: 271: 268: 265: 262: 259: 256: 253: 250: 247: 244: 241: 238: 235: 232: 229: 226: 223: 220: 217: 214: 211: 208: 205: 202: 199: 196: 193: 190: 187: 184: 181: 178: 175: 172: 166: 165: 162: 159: 156: 153: 150: 147: 144: 141: 138: 135: 132: 129: 126: 123: 120: 117: 114: 111: 108: 105: 99: 86: 65:that uses HAL. 17: 12: 11: 5: 746: 744: 736: 735: 730: 725: 720: 715: 710: 700: 699: 696: 695: 688: 687:External links 685: 682: 681: 656: 635: 617: 593: 592: 590: 587: 586: 585: 580:, (or Compact 575: 568: 565: 540:"id" 501:"id" 328: 299:"id" 260:"id" 171: 142:"id" 104: 98: 95: 85: 82: 44:Internet Draft 15: 13: 10: 9: 6: 4: 3: 2: 745: 734: 731: 729: 726: 724: 721: 719: 716: 714: 711: 709: 706: 705: 703: 694: 691: 690: 686: 670: 663: 661: 657: 652: 646: 638: 632: 628: 621: 618: 605: 598: 595: 588: 583: 579: 576: 574: 571: 570: 566: 326: 169: 102: 96: 94: 91: 83: 81: 79: 75: 71: 66: 64: 60: 56: 51: 49: 45: 41: 37: 33: 29: 25: 21: 672:. Retrieved 626: 620: 608:. Retrieved 597: 325:Collections 324: 167: 100: 87: 67: 52: 23: 19: 18: 70:open source 702:Categories 610:16 October 589:References 84:Convention 28:hypermedia 645:cite book 59:libraries 32:resources 567:See also 674:23 July 573:HATEOAS 97:Example 55:domains 34:within 633:  606:. IETF 578:CURIE 708:JSON 676:2014 651:link 631:ISBN 612:2018 48:MIME 36:JSON 582:URI 90:URI 74:API 63:API 40:XML 38:or 24:HAL 704:: 659:^ 647:}} 643:{{ 537:}, 498:}, 447:}, 423:}, 402:}, 381:}, 360:}, 296:}, 257:}, 206:}, 139:}, 678:. 653:) 639:. 614:. 584:) 561:} 555:: 549:, 543:: 534:} 528:: 522:, 516:: 510:, 504:: 495:} 489:: 483:{ 480:: 474:{ 471:: 465:{ 462:: 456:{ 453:: 444:} 438:: 432:{ 429:: 417:: 411:{ 408:: 396:: 390:{ 387:: 375:: 369:{ 366:: 354:: 348:{ 345:: 339:{ 336:: 330:{ 320:} 314:: 308:, 302:: 293:} 287:: 281:, 275:: 269:, 263:: 254:} 248:: 242:{ 239:: 233:{ 230:: 224:{ 221:: 215:{ 212:: 203:} 197:: 191:{ 188:: 182:{ 179:: 173:{ 163:} 157:: 151:, 145:: 136:} 130:: 124:{ 121:: 115:{ 112:: 106:{ 22:(

Index

hypermedia
resources
JSON
XML
Internet Draft
MIME
domains
libraries
API
open source
API
proprietary format
URI
HATEOAS
CURIE
URI
"JSON Hypertext Application Language"
ISBN
978-1-4493-5806-8
cite book
link


"HAL - Hypertext Application Language A lean hypermedia type"
JSON Hypertext Application Language latest draft
Categories
JSON
Data serialization formats
Markup languages
XML markup languages

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.