Mastering REST: The Role of HATEOAS in API Design
HATEOAS is a key aspect of building Restful web services. It is a key aspect of REST principles
HATEOAS is a key aspect of building Restful web services. It is a key aspect of REST principles
The Open API Specification is used to define the contract between the API consumers and the API providers. The specification is based on the JSON schema and is a standard format for describing the data exchanged between the API consumers and the API providers.
Cross-Origin Resource Sharing or CORS is a mechanism that enables a web browser to perform cross-domain requests. Cross-domain requests are HTTP requests for resources hosted on a different domain than the domain of the resource making the request.
The key parts of a Resource oriented architecture (REST architecture) are resources, identifiers, representations, and the links between them. There is no exact science to identifying resources and there is no right or wrong with resources identified.In this post we will look at best practices to do so.
Richardson’s Maturity Model breaks down the journey towards building a truly RESTful API into levels, each adding more constraints and adhering more closely to REST principles.
Implementing the REST architectural principles results in the both Idempotency and safety being incorporated into the system. This is not however not completely automatic and needs to be thought through in detail.
REST defines six architectural constraints which make any web service – a truly RESTful API. These are also called as Fielding’s constraints. They generalize the Web’s architectural principles and represent them as a framework of constraints or an architectural style.
REST API’s have a very rich vocabulary to communicate a variety of statuses and results. The verbs put, post, update, get and others are used to indicate the action that must be performed. The status indicate the result of the actions performed by the verbs.
Rest is a client server communication model which is stateless, resource based, and Idempotent.