Existe um protocolo, um padrão por trás de toda a comunicação entre aplicações que foi vista anteriormente. Esse protocolo é chamado de protocolo HTTP (Hypertext Transfer Protocol).
Apesar de existir outros protocolos e padrões utilizados na internet, o HTTP é o mais utilizado atualmente.
O que é protocolo HTTP?
O protocolo HTTP é um dos protocolos de comunicação mais importantes da internet. Ele permite a transferência de informações e dados entre navegadores e servidores web.
Quando você acessa um site, como o Facebook, o endereço contém “https://”, referenciando que a comunicação está sendo feita por meio do protocolo HTTP.
O “S” indica que se trata de um site seguro, ou seja, a comunicação está sendo criptografada por meio do protocolo SSL (Secure Sockets Layer). Isso traz mais segurança para a transmissão dos dados.
Portanto, quando aparece alguma mensagem indicando que determinado site não é seguro, significa que a comunicação não está ocorrendo por HTTPS e os dados não estão criptografados.
Sendo assim, sites sem HTTPS devem ser evitados, pois não possuem um protocolo de segurança bem implementado, trazendo riscos para o usuário.
Quais são os principais métodos HTTP?
O protocolo HTTP define um conjunto de métodos que indicam a ação a ser executada na requisição. Os principais são:
- GET: Utilizado para obter dados e informações do servidor.
- POST: Utilizado para enviar ou criar dados no servidor.
- PUT: Utilizado para atualizar dados completamente.
- PATCH: Utilizado para atualizar dados parcialmente.
- DELETE: Utilizado para excluir dados do servidor.
Método GET:
O método GET é utilizado para obter recursos do servidor. Por exemplo, quando você acessa a rota “/planets” em uma API de planetas, está fazendo uma requisição GET para obter a lista completa de planetas.
Como o GET só busca dados, ele pode ser executado diretamente no navegador. Basta digitar a URL da rota desejada que os dados serão retornados.
Portanto, o método GET é indicado quando desejamos buscar ou consultar dados de um servidor web.
Método POST:
O método POST é utilizado quando desejamos enviar dados para serem processados pelo servidor, como em um cadastro ou envio de formulário.
Como o POST altera dados, ele não pode ser executado pelo navegador. É necessário utilizar outras ferramentas como Postman ou Insomnia para conseguir enviar requisições POST corretamente.
Nessas ferramentas, além de definir a rota, também conseguimos preencher o corpo (body) com os dados a serem enviados em formato JSON.
Portanto, utiliza-se POST quando o objetivo é enviar ou criar dados no servidor.
Método PUT:
O método PUT é muito parecido com o POST, porém com uma diferença importante. Enquanto o POST cria um novo recurso, o PUT atualiza um recurso existente.
Além disso, o PUT sempre atualiza o recurso por completo, substituindo todos os dados anteriores pelos dados enviados na requisição atual.
Por exemplo, se quisermos atualizar completamente os dados de um usuário, podemos fazer uma requisição PUT enviando no corpo todos os novos dados, como nome, email, telefone etc.
Portanto, o método PUT deve ser utilizado quando o objetivo é atualizar por completo os dados de um determinado recurso.
Método PATCH:
O método PATCH é similar ao PUT, pois também serve para atualizar um recurso. Porém a diferença é que o PATCH faz uma atualização parcial, modificando apenas os dados enviados, sem afetar o restante.
Por exemplo, se quisermos atualizar apenas o nome de um usuário, podemos enviar uma requisição PATCH passando apenas o novo nome, sem a necessidade de enviar também o email, telefones etc.
Dessa forma, o método PATCH é indicado quando o objetivo é fazer uma atualização parcial de dados de um recurso.
Método DELETE:
Conforme o próprio nome já diz, o método DELETE serve para excluir recursos do servidor.
Por exemplo, se quisermos excluir permanentemente um usuário, podemos enviar uma requisição DELETE informando o ID desse usuário na URL.
Dessa forma, o método DELETE deve ser utilizado quando o objetivo é remover ou excluir de forma permanente um determinado recurso.
Boas práticas em APIs REST:
Além de entender os métodos HTTP, aqui estão algumas boas práticas importantes para o desenvolvimento de APIs REST:
- Utilizar nomes claros e coerentes para os recursos nas URLs;
- Retornar os códigos de status HTTP corretos (200, 404, 500, etc);
- Fazer validações completas dos dados recebidos;
- Autenticar e autorizar o acesso aos recursos corretamente;
- Permitir a paginação dos resultados com limit e offset;
- Documentar corretamente os recursos e respostas;
- Versionar a API para evitar problemas com atualizações;
- Não retornar dados sensíveis desnecessariamente;
- Compactar os dados de resposta com gzip para melhor performance.
Conclusão
Neste artigo, aprendemos sobre o protocolo HTTP e seus principais métodos utilizados em APIs REST: GET, POST, PUT, PATCH e DELETE.
Cada método possui uma finalidade específica: obter dados, enviar dados, atualizar dados ou excluir dados.
Além disso, vimos boas práticas para o desenvolvimento de APIs, permitindo construir interfaces bem projetadas e que atendam corretamente às necessidades.
Com esses conhecimentos, você está pronto para começar a desenvolver e consumir APIs REST de forma profissional.