Module 5
Module 5
The Richardson Maturity Model is a method used to rank API design according to the
principles of Representational State Transfer (REST). It was introduced by Leonard
Richardson and is widely referenced in the context of building RESTful web services.
Consider remote web servers as huge repositories of data. Client applications can access them
via APIs. It could be public data such as weather forecasts, stock prices, or sports updates.
Data could be private such as company-specific business information that's accessible to
employees, vendors or partners.
REST (REpresentational State Transfer) is a popular architectural style for designing web
services to fetch or alter remote data. APIs conforming to the REST framework are
considered more mature because they offer ease, flexibility and interoperability. Richardson
Maturity Model (RMM) is a four-level scale that indicates extent of API conformity to the
REST framework.
The maturity of a service is based on three factors in this model: URI, HTTP Methods
and HATEOAS (Hypermedia). If a service employs these technologies, it’s considered more
mature. This model covers only API architectural style, not data modeling or other design
factors.
Richardson Maturity Model's levels: Richardson Maturity Model (devopedia.org)
Level 1: Resources
Level 1 introduces the concept of 'resources,' which are key to RESTful services.
The API is designed to handle individual resources, such as users, orders, or products.
Each resource has a specific URL, but HTTP methods are not fully leveraged.
Level 2: HTTP Verbs
This level makes use of HTTP verbs (GET, POST, PUT, DELETE, etc.) to perform different
operations on the resources.
This allows for a more meaningful interaction with the API, with verbs corresponding to
create, read, update, and delete (CRUD) operations.