Em nosso artigo anterior, discutimos o que é uma API. Existem diferentes tipos de chamadas de API, por exemplo, Simple Object Access Protocol (SOAP), Remote Procedure Call (RPC) e Representational State Transfer (REST). Todas essas chamadas de API têm o mesmo objetivo, ou seja, transferir dados com segurança entre dois ou mais sistemas. Neste artigo vamos explorar apenas os Restful Web Services.
O que é RESTO
Como dito anteriormente, REST significa Transferência de Estado Representacional. É uma maneira simples de enviar e receber dados entre cliente e servidor. Não requer nenhum software ou padrões para transferir dados. Possui uma estrutura predefinida para fazer a chamada da API. Os desenvolvedores só precisam usar a maneira predefinida e passar seus dados como carga útil JSON.
Atributos dos Serviços Web Restful
Um serviço web RESTful tem as seguintes seis restrições/atributos:
Servidor cliente: É um aspecto muito importante das APIs REST. Uma API REST segue a arquitetura cliente-servidor e ambas devem ser separadas. Isso significa que o servidor e o cliente não podem ser o mesmo servidor. Caso seja o mesmo, você receberá um erro CORS.
Sem estado: No REST, todas as chamadas são tratadas como uma nova chamada e qualquer estado de chamada anterior não dará nenhuma vantagem à nova chamada. Assim, durante cada chamada, é necessário manter toda a autenticação necessária e outras informações.
Cache: Uma API REST incentiva o processo de cache do navegador e do servidor para aumentar sua velocidade de processamento.
Interface uniforme: A interface entre o Cliente e o Servidor permanece uniforme, portanto, quaisquer alterações em ambos os lados não afetarão a funcionalidade da API. Isso ajuda no desenvolvimento do sistema Cliente e Servidor de forma independente.
Sistema em camadas: REST permite o uso de estrutura em camadas no lado do servidor, ou seja, você pode ter dados em servidores diferentes, autenticação em servidores diferentes enquanto a API em servidores diferentes. O cliente nunca saberá que está obtendo os dados de qual servidor.
Código sob demanda: É um recurso opcional da API REST onde o servidor pode enviar código executável para o cliente que pode ser executado diretamente durante o tempo de execução.
Métodos em Restful Web Services
Usando os serviços Web Restful, podemos realizar estas quatro operações básicas:
GET: Este método é usado para obter uma lista de dados do servidor.
POST: Este método é usado para postar/criar um novo registro no servidor.
PUT: Este método é usado para atualizar um registro existente do servidor.
DELETE: Este método é usado para executar a exclusão de um registro no lado do servidor.
NOTA Apenas chamar o método acima não garante que as operações sejam executadas até que essas operações sejam implementadas no lado do servidor também.
Vantagens do Restful Web Services
A seguir estão as principais vantagens de uma API RESTful:
São mais simples e flexíveis de implementar
Ele suporta uma maior variedade de formatos de dados, por exemplo, JSON, XML, YAML, etc.
É mais rápido e oferece melhor desempenho
Desvantagens do Restful Web Services
Embora os serviços REST tendam a fornecer vários benefícios, ainda assim deu deméritos:
Para implementar a consulta relacionada ao estado, os cabeçalhos REST são necessários, o que é um trabalho desajeitado