Your Web News in One Place

Help Webnuz

Referal links:

Sign up for GreenGeeks web hosting
August 18, 2022 05:45 pm GMT

The Concept

REST stands for "Representational State Transfer". This is an architectural style. A web API conforming to this style is a REST API.

REST stands on 6 guiding principles, important among them are:

  • Client-server: separate backend and frontend.
  • Stateless: each http request contains enough data (e.g. auth, session, user data) to understand it without knowing what the previous request was.
  • Cacheable
    • GET: always
    • POST: using http headers expire, cache-control, etag, last-modified
    • PUT, DELETE: never

Concepts

The following are some important, concise, and simplified REST concepts a good backend dev must be familiarized with.

Resource

REST APIs are modeled as a resource hierarchy - where each node is either a collection, or a single resource. A single resource has some state, or sub-resources.

Example of a stateful resource is the following, where a user resource has data/states:

POST /users/:id{  id: 4e7d418a70f,  name: 'muhammad',  country: 'earth',  verified: true}

Example of a resource with sub-resources is the following, where a user has multiple projects, each of which are a resource.

GET /users/:id/projectscontent-type: application/json[  {    id: 'postman cli',    desc: 'postman implemented in command-line'    url: 'github.com/midnqp/postman-cli'  },  {    id: 'typescript',    desc: 'typescript is a superset of javascript',    url: 'github.com/microsoft/typescript'  }]

Idempotency

API Idempotency means "a client can make a request multiple times, returning same response - without having any side-effect".

Making the following requests multiple times produces the same result, and has no further side-effect - thus are "idempotent" APIs:

  • GET /users/:id - just retrieving same user data
  • PUT /users - just updating same json data
  • DELETE /users/:id - just deleteing the same user

A non-idempotent API:

  • POST /users/:id - because a new user will be created everytime this request is made

Original Link: https://dev.to/midnqp/rest-api-a-quickread-for-backend-dev-3i70

Share this article:    Share on Facebook
View Full Article

Dev To

An online community for sharing and discovering great ideas, having debates, and making friends

More About this Source Visit Dev To