SlideShare a Scribd company logo
HATEOAS
Richardson Maturity Model
What is REST
 Before we jump into HATEOAS directly, lets look a little behind and
see how the evolution of REST happend so far.
Level 0 - The Swamp of POX
 API designed at this level are not at all Rest APIs and This is
where SOAP based web services takes place.
 At this Level,There is no concept of Resource Based URI,
Hypermedia, and no proper use of HTTP Protocol (which are
key characteristics of a REST API). In fact, the API, which
belongs to this Level, does not make use or leverages the full
potential of the HTTP protocol. HTTP is merely treated as a
Transport Layer protocol or just a Tunneling Mechanism
between Client and Server.
LEVEL 1: Resource BASED URI
 This is a starting Level for a REST API. In this Level, the Concept of
Resource-based Address is introduced, which tells you there should be
Individual URI for each Resource on the server
 It’s like reducing the burden from the single endpoint into multiple Resource
Based URIs like Divide and Conquer algorithm.
Level 2 - HTTP Verbs
 REST API developed at this LEVEL uses Standard HTTP methods/verbs and
different HTTP status codes to do different operations on Resource URI. So, the
Request Body will no longer carry Operation information at this level
LEVEL 3: Use Hypermedia or HATEOAS
 In LEVEL 1, the Resource-Based URI concept is introduced and in LEVEL 2, we leveraged the
full potential of HTTP protocol using HTTP methods. LEVEL 3 makes use of Hypermedia (also
Called HATEOAS–Hypermedia as Engine of Application state in REST world), which drives the
interaction for the API Client. Generally, the API Client is not aware of all resource endpoints and
REST does not deal much with API documents (which can tell API client information about all
endpoints), unlike SOAP where we have WSDL, which provides information about service to the
API Client.
 Different Resource Based Endpoints are made aware to API Client using concept HATEOAS i.e.
sending some hypermedia as the response of endpoint response which in turns acts as Engine
of Application state and hence the name HATEOAS. The HATEOAS concept in REST API
makes API self-documented and hence no need for API documentation.
 API developed at this LEVEL 3 is generally considered as fully RESTful API and this is where
we see the charm of REST API.
HATEOAS Implementation
 In the real world, when you visit a website – you hit its homepage. It presents
some snapshots and links to other sections of websites. You click on them,
and then you get more information along with more related links that are
relevant to the context.
 Similar to a human’s interaction with a website, a REST client hits an initial
API URI and uses the server-provided links to dynamically discover available
actions and access the resources it needs. The client need not have prior
knowledge of the service or the different steps involved in a workflow.
Additionally, the clients no longer have to hard code the URI structures for
different resources. HATEOAS allows the server to make URI changes as
the API evolves without breaking the clients.
 Let’s look at an example
HATEOAS
 In the preceding example, the response returned by the server contains
hypermedia links to employee resources 10/employees, which can be
traversed by the client to read employees belonging to the department.
 The advantage of the above approach is that hypermedia links returned from
the server drive the application’s state and not the other way around.

CONTINUE....
HATEOAS References
 There are two popular methods for specifying
JSON REST API hypermedia links:
 RFC 5988 (web linking)
 JSON Hypermedia API Language (HAL)
RFC 5988 (web linking)
 RFC 5988 puts forward a framework for building
links that defines the relation between
resources on the web. Each link in RFC 5988
contains the following properties:
 Target URI: Each link should contain a target
Internationalized Resource Identifiers (IRIs).
This is represented by the href attribute.
 Link relation type: The link relation type
JSON Hypermedia API Language (HAL)
 JSON HAL is a promising proposal that sets the conventions for expressing hypermedia
controls, such as links, with JSON or XML.
 The two associated MIME types are:
 Each link in HAL may contain the following properties:
 Target URI: It indicates the target resource URI. This is represented by the href attribute.
 Link relation: The link relation type describes how the current context is related to the target
resource. This is represented by the rel attribute.
 Type: This indicates the expected resource media type. This is represented by the type
attribute.
Sample JSON HAL
 A typical JSON HAL should look like the below response
Thank you for watching.
For queries please reach me out on twitter @avishekp86

More Related Content

PPTX
Best Practices in Api Design
PDF
Rest API Automation with REST Assured
DOCX
Salesforce Integration
PDF
Introduction to API
PPTX
Introduction to mule soft
PPT
Salesforce REST API
PPTX
Implementation web api
PPTX
RESTful Architecture
Best Practices in Api Design
Rest API Automation with REST Assured
Salesforce Integration
Introduction to API
Introduction to mule soft
Salesforce REST API
Implementation web api
RESTful Architecture

What's hot (20)

PDF
Representational State Transfer (REST)
PPTX
Introduction to REST - API
PPTX
REST API in Salesforce
PDF
Ijirsm ashok-kumar-ps-compulsiveness-of-res tful-web-services
PDF
REST API and CRUD
PPTX
SFDC REST API
PPT
The Rest Architectural Style
PDF
REST - Representational State Transfer
PPTX
An Introduction To REST API
PPT
Introduction To REST
PPTX
REST API
PPTX
Integration with SAP using Mule ESB
PPSX
Rest api standards and best practices
PPTX
Introduction to APIs (Application Programming Interface)
PPTX
Rest & RESTful WebServices
PPTX
Integration on Force.com Platform
PPTX
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
PPTX
Deployment Automation with Microservices
PDF
Api design and development
Representational State Transfer (REST)
Introduction to REST - API
REST API in Salesforce
Ijirsm ashok-kumar-ps-compulsiveness-of-res tful-web-services
REST API and CRUD
SFDC REST API
The Rest Architectural Style
REST - Representational State Transfer
An Introduction To REST API
Introduction To REST
REST API
Integration with SAP using Mule ESB
Rest api standards and best practices
Introduction to APIs (Application Programming Interface)
Rest & RESTful WebServices
Integration on Force.com Platform
The glory of REST in Java: Spring HATEOAS, RAML, Temenos IRIS
Deployment Automation with Microservices
Api design and development
Ad

Similar to Richarson maturity model (HATEOAS) (20)

PDF
Rest API Interview Questions PDF By ScholarHat
PPTX
Apitesting.pptx
PDF
Rest web service
PDF
Rest api best practices – comprehensive handbook
PDF
Rest api-interview
PDF
What are restful web services?
PPTX
Standards of rest api
PDF
20 Most Asked Question on Rest APIs .pdf
PDF
PPTX
Beginner's Guide REST Basics - 101 by Smartbear
PPTX
Flutter development Lecture 17 full powerpoint
PPTX
RESTfulll web services
PPTX
Restful web services
PDF
Whitepaper-API-Design-Best-Practices. Prowess software services
PDF
API Management and software services.pdf
PDF
Whitepaper - A Guide to API Design Best Practices
PDF
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
PDF
Best practices and advantages of REST APIs
PPTX
Building-Robust-APIs-ASPNET-Web-API-and-RESTful-Patterns.pptx
PPTX
REST and RESTful Services
Rest API Interview Questions PDF By ScholarHat
Apitesting.pptx
Rest web service
Rest api best practices – comprehensive handbook
Rest api-interview
What are restful web services?
Standards of rest api
20 Most Asked Question on Rest APIs .pdf
Beginner's Guide REST Basics - 101 by Smartbear
Flutter development Lecture 17 full powerpoint
RESTfulll web services
Restful web services
Whitepaper-API-Design-Best-Practices. Prowess software services
API Management and software services.pdf
Whitepaper - A Guide to API Design Best Practices
Javantura v4 - True RESTful Java Web Services with JSON API and Katharsis - M...
Best practices and advantages of REST APIs
Building-Robust-APIs-ASPNET-Web-API-and-RESTful-Patterns.pptx
REST and RESTful Services
Ad

Recently uploaded (20)

PDF
Designing Intelligence for the Shop Floor.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
AutoCAD Professional Crack 2025 With License Key
PDF
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
PDF
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
PPTX
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
17 Powerful Integrations Your Next-Gen MLM Software Needs
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PDF
iTop VPN Free 5.6.0.5262 Crack latest version 2025
PPTX
Monitoring Stack: Grafana, Loki & Promtail
PDF
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Autodesk AutoCAD Crack Free Download 2025
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
PDF
Website Design Services for Small Businesses.pdf
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Designing Intelligence for the Shop Floor.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
AutoCAD Professional Crack 2025 With License Key
Tally Prime Crack Download New Version 5.1 [2025] (License Key Free
How AI/LLM recommend to you ? GDG meetup 16 Aug by Fariman Guliev
Log360_SIEM_Solutions Overview PPT_Feb 2020.pptx
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
17 Powerful Integrations Your Next-Gen MLM Software Needs
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
iTop VPN Free 5.6.0.5262 Crack latest version 2025
Monitoring Stack: Grafana, Loki & Promtail
iTop VPN 6.5.0 Crack + License Key 2025 (Premium Version)
Computer Software and OS of computer science of grade 11.pptx
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
CHAPTER 2 - PM Management and IT Context
Autodesk AutoCAD Crack Free Download 2025
Oracle Fusion HCM Cloud Demo for Beginners
WiFi Honeypot Detecscfddssdffsedfseztor.pptx
Website Design Services for Small Businesses.pdf
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free

Richarson maturity model (HATEOAS)

  • 2. What is REST  Before we jump into HATEOAS directly, lets look a little behind and see how the evolution of REST happend so far.
  • 3. Level 0 - The Swamp of POX  API designed at this level are not at all Rest APIs and This is where SOAP based web services takes place.  At this Level,There is no concept of Resource Based URI, Hypermedia, and no proper use of HTTP Protocol (which are key characteristics of a REST API). In fact, the API, which belongs to this Level, does not make use or leverages the full potential of the HTTP protocol. HTTP is merely treated as a Transport Layer protocol or just a Tunneling Mechanism between Client and Server.
  • 4. LEVEL 1: Resource BASED URI  This is a starting Level for a REST API. In this Level, the Concept of Resource-based Address is introduced, which tells you there should be Individual URI for each Resource on the server  It’s like reducing the burden from the single endpoint into multiple Resource Based URIs like Divide and Conquer algorithm.
  • 5. Level 2 - HTTP Verbs  REST API developed at this LEVEL uses Standard HTTP methods/verbs and different HTTP status codes to do different operations on Resource URI. So, the Request Body will no longer carry Operation information at this level
  • 6. LEVEL 3: Use Hypermedia or HATEOAS  In LEVEL 1, the Resource-Based URI concept is introduced and in LEVEL 2, we leveraged the full potential of HTTP protocol using HTTP methods. LEVEL 3 makes use of Hypermedia (also Called HATEOAS–Hypermedia as Engine of Application state in REST world), which drives the interaction for the API Client. Generally, the API Client is not aware of all resource endpoints and REST does not deal much with API documents (which can tell API client information about all endpoints), unlike SOAP where we have WSDL, which provides information about service to the API Client.  Different Resource Based Endpoints are made aware to API Client using concept HATEOAS i.e. sending some hypermedia as the response of endpoint response which in turns acts as Engine of Application state and hence the name HATEOAS. The HATEOAS concept in REST API makes API self-documented and hence no need for API documentation.  API developed at this LEVEL 3 is generally considered as fully RESTful API and this is where we see the charm of REST API.
  • 7. HATEOAS Implementation  In the real world, when you visit a website – you hit its homepage. It presents some snapshots and links to other sections of websites. You click on them, and then you get more information along with more related links that are relevant to the context.  Similar to a human’s interaction with a website, a REST client hits an initial API URI and uses the server-provided links to dynamically discover available actions and access the resources it needs. The client need not have prior knowledge of the service or the different steps involved in a workflow. Additionally, the clients no longer have to hard code the URI structures for different resources. HATEOAS allows the server to make URI changes as the API evolves without breaking the clients.  Let’s look at an example
  • 9.  In the preceding example, the response returned by the server contains hypermedia links to employee resources 10/employees, which can be traversed by the client to read employees belonging to the department.  The advantage of the above approach is that hypermedia links returned from the server drive the application’s state and not the other way around.  CONTINUE....
  • 10. HATEOAS References  There are two popular methods for specifying JSON REST API hypermedia links:  RFC 5988 (web linking)  JSON Hypermedia API Language (HAL)
  • 11. RFC 5988 (web linking)  RFC 5988 puts forward a framework for building links that defines the relation between resources on the web. Each link in RFC 5988 contains the following properties:  Target URI: Each link should contain a target Internationalized Resource Identifiers (IRIs). This is represented by the href attribute.  Link relation type: The link relation type
  • 12. JSON Hypermedia API Language (HAL)  JSON HAL is a promising proposal that sets the conventions for expressing hypermedia controls, such as links, with JSON or XML.  The two associated MIME types are:  Each link in HAL may contain the following properties:  Target URI: It indicates the target resource URI. This is represented by the href attribute.  Link relation: The link relation type describes how the current context is related to the target resource. This is represented by the rel attribute.  Type: This indicates the expected resource media type. This is represented by the type attribute.
  • 13. Sample JSON HAL  A typical JSON HAL should look like the below response
  • 14. Thank you for watching. For queries please reach me out on twitter @avishekp86