The REST API is an application programming interface created in 2000 by computer scientist Roy Fielding. A REST API is an API that follows REST design principles or an architectural style of representational state transfer that provides a relatively high level of flexibility and freedom for developers. This flexibility is just one of the reasons why REST APIs have become the standard way to connect components and applications in a microservice architecture. For this reason, REST APIs are sometimes referred to as RESTful APIs. REST APIs communicate via HTTP requests to perform standard CRUD (read, update, and delete) operations within a resource. For example, a REST API will use a GET request to retrieve a document, a POST request to create it, a PUT request to update a record, and a DELETE request to delete it. API calls can use all HTTP methods.
What is an API?
API (Application Programming Interface) are definitions and protocols for building and integrating application software. An API is a software mediator that allows two applications to exchange data. The APIs are standards-compliant (HTTP and REST) that are user-friendly and readily available to developers. The API has its software development lifecycle (SDLC), which includes designing, testing, building, managing, and versioning, just like any other software produced. In addition, the APIs are well documented for use and version control.
What is REST?
REpresentational State Transfer (REST) is an architectural style that enforces standards between computer systems on the Internet to make it easier for systems to interact with each other. Like other architectural styles, REST has its own rules and limitations. REST systems often referred to as RESTful systems, are separate stateless client and server tasks.
When the API is considered RESTful?
For an API to be considered RESTful, it must meet the following criteria:
The client-server architecture consists of clients, servers, and resources, and requests are managed over HTTP.
Cached data that simplifies the exchange of data between client and server.
Stateless communication on the client-server, which means no client information, is kept between GET requests, and each request is separate and unrelated.
A multi-tiered system that organizes servers of each type (responsible for security, load balancing)
REST API Requests Example
To post JSON to the server, you must set the appropriate content type for the request body. If your client is expecting a JSON data from the server, it should also send the Accept: application/json request header.