Conceitos sobre API REST

December 08, 2022

API é o acrônimo para Application Programming Interface, e é um conjunto de regras para que duas ou mais aplicações se comuniquem.

REST é o acrônimo de REpresentation State Transfer, e é um modelo de arquitetura que possui 6 regras:

  • Client-Server

    O client não precisa conhecer a implementação do server e o server não precisa conhecer a implementação do client. Vale dizer que o client não necessariamente é um front-end, podendo ser um back-end consumindo a API

  • Stateless

    O server não armazena estado, como uma sessão por exemplo. Então toda vez que uma requisição é feita é preciso que sejam enviadas todas as informações necessárias para que seja processada

  • Cache

    A API deve permitir armazenamento em cache. Por default as requisições GET devem ser cacheadas.

  • Interface uniforme

    Identificação dos recursos, representação dos recursos como respostas em JSON por exemplo, mensagens auto-descritivas, HATEOAS (Hypertext As The Engine Of Application State) que é o uso de links das respostas, como links de paginação por exemplo.

  • Camadas

    Camadas entre o client e o server, como um balanceamento de carga por exemplo.

  • Código sob demanda

    É opcional. Permite que as funcionalidades do client sejam estendidas na forma de script. Então ao invés de retornar um JSON como resposta, seria retornado um código executável para o cliente implementar.


Profile picture

Ficou com alguma dúvida? Quer sugerir alguma alteração? Me chama aqui no Twitter pra gente bater um papo =)