DEV Community

Cover image for Entendendo o funcionamento de uma API WEB REST
Diego Henrique
Diego Henrique

Posted on

Entendendo o funcionamento de uma API WEB REST

Antes de qualquer coisa, é essencial compreender alguns processos básicos.

Introdução às APIs web

Primeiramente precisamos dividir a forma em que vemos a WEB em dois termos, o CLIENT-SIDE (O navegador) e o SERVER-SIDE (O servidor). Ao acessarmos um site, o client tem a função de enviar as solicitações necessárias ao servidor. Por exemplo, ao buscar um item na Amazon, nesse momento o client faria uma solicitação para o servidor, onde após todo o processo de gerenciamento dos dados, retornaria uma resposta ao client com os dados desse item, que seriam exibidos ao usuário no site.

Toda essa comunicação utiliza o protocolo HTTPS em conjunto com a arquitetura REST, que vamos entender agora.

REST ou Representational State Transfer

É uma arquitetura que fornece padrões de comunicações entre Sistemas utilizando a WEB, existem vários conceitos aplicados nessa arquitetura, mas os que vamos abordar aqui, são eles: Verbos e Stateless.

VERBOS: Quando falamos de solicitações ao servidor, utilizamos alguns verbos para determinar o tipo de solicitação que está sendo enviada, sendo elas:

  • GET- Recuperar um recurso, como a busca de um item específico na Amazon;
  • POST- Criar um novo recurso;
  • PUT- Atualizar completamente um recurso;
  • PATCH- Atualizar parcialmente um recurso;
  • DELETE- Remover um recurso.

STATELESS: Você pode imaginar que sites famosos como a Amazon por exemplo, possui milhões de acessos todos os dias, pense que para cada usuário utilizando a plataforma, é feita uma solicitação ao servidor. Por conta desses inúmeros acessos, precisamos manter um bom desempenho no servidor, e uma das práticas utilizadas é que o servidor não necessite de contexto, isso quer dizer que ao receber uma solicitação, o servidor não precise saber necessariamente quem é o usuário e o que o mesmo solicitou anteriormente. Dessa forma, toda requisição é única, não armazenando estados e solicitações anteriores. Mesmo assim, o servidor consegue facilmente entender qual é sua solicitação e o que deve fazer por meio do tipo de verbo que está sendo utilizado.

Agora que entendemos um pouco sobre REST, vamos de fato ver sobre a API WEB.

Uma API é, essencialmente, uma interface que nos permite solicitar e receber dados, pense na API como uma espécie de "contrato" entre diferentes sistemas. Ela define como um sistema deve interagir com o outro, quais operações podem ser realizadas e quais dados estão disponíveis para acesso. No contexto WEB, a API é a interface usada para fazermos solicitações ao servidor, no entanto, é necessário especificar a ação que o servidor deve executar, e é aí que entram os ENDPOINTS.

Endpoints

Como o nome sugere, são pontos finais ou caminhos finais, no momento que precisamos acessar um recurso do servidor, precisamos de um caminho que nos leve até esse recurso, até o "caminho final" e esse caminho é um endpoint, vamos ver um exemplo simples disso.

Exemplo: Voltando novamente no exemplo que utilizamos acima, você acessou o site da Amazon e precisa comprar um item, nesse momento você faz uma busca pelo item no site por meio de um campo de pesquisa. Por trás dos panos, o que está acontecendo, é que seu navegador ou client, está fazendo uma solicitação ao servidor e essa solicitação é iniciada por meio de um ENDPOINT, todo esse caminho para iniciarmos nossa solicitação, seria dessa forma:

Image description

Tá, vamos quebrar esse caminho em partes, temos primeiramente a URL do servidor da Amazon, que no nosso caso seria essa:

Image description

E agora para informar ao servidor necessariamente qual ação ele necessita executar, o endpoint é chamado:

Image description

Dessa forma estamos informando ao servidor que ele precisa buscar um item, com o nome "camera", formando assim a URI completa:

Image description

Com a URI completa, é feita a request para o servidor, que no final de todo seu processo, nos retorna a response com as informações do nosso item, podendo ser em JSON, XML e YAML, um exemplo em JSON seria assim:

Image description

Conclusão

Dessa forma podemos entender que, um endpoint é nada mais nada menos que um caminho específico para informar qual ação o servidor deve executar. Importante lembrar que junto a esse endpoint, também precisamos informar o VERBO da solicitação ao servidor.

Espero que eu tenha te ajudado a entender o funcionamento de uma API WEB de como ela é extremamente importante na internet hoje em dia, caso tenha surgido alguma dúvida ou queira acrescentar alguma coisa, sinta-se a vontade!

Top comments (0)