HATEOAS API: Difference between revisions

From Delft Solutions
Jump to navigation Jump to search
No edit summary
No edit summary
Line 9: Line 9:
* [[Caching]] to enable the application to [[Scaling | scale better]].
* [[Caching]] to enable the application to [[Scaling | scale better]].
* [[Content Negotiation]] to [[Backward Compatibility | support older clients]] and [[Internationalization | give users localized versions of resources]].
* [[Content Negotiation]] to [[Backward Compatibility | support older clients]] and [[Internationalization | give users localized versions of resources]].
* Conditional PUTs to add [[Optimistic Concurrency]].

Revision as of 05:23, 17 September 2020

Originally called REST, HATEOAS is a way of designing HTTP APIs as described in Roy Fieldings thesis. The acronym stands for Hypermedia as the Engine of Application State.

It distinguishes itself from other APIs by having the following properties:

  • Heavy use of Media Types to allow Backward Compatibility.
  • It does not allow clients to construct URLs (unless instructed by the server to do so) to allow for applications to change their URL structure.
  • Other than an entry URL and a set of documents describing the Media Types, no additional knowledge should be necessary to use the API.

HATEOAS APIs usually make heavy use of HTTP features like: