Junior
O que é uma API REST?
sobes.tech IA
Resposta da IA
A API REST é um estilo arquitetónico para construir sistemas distribuídos. Os princípios principais do REST:
- Sem estado: Cada pedido do cliente ao servidor deve conter toda a informação necessária para processamento. O servidor não mantém estado do cliente entre pedidos.
- Cliente-Servidor: Divisão clara de responsabilidades entre cliente e servidor. O cliente envia pedidos, o servidor processa-os.
- Cacheável: O servidor deve indicar se as respostas podem ser armazenadas em cache pelo cliente ou intermediários.
- Sistema em camadas: O cliente não interage necessariamente diretamente com o servidor final; pode fazê-lo através de camadas intermédias (proxy, balanceadores de carga).
- Interface uniforme: Forma única e padronizada de interagir entre cliente e servidor. Este princípio inclui:
- Identificação de recursos: Os recursos (dados) são identificados por URL.
- Manipulação de recursos através de representações: O cliente interage com os recursos, obtendo as suas representações (por exemplo, JSON, XML) e enviando novas representações para modificar.
- Mensagens auto-descritivas: Cada mensagem contém informações suficientes para entender como processá-la.
- HATEOAS (Hypertext As The Engine Of Application State): Os recursos devem conter links (hiperlinks) para recursos relacionados e ações disponíveis.
A API REST geralmente usa métodos HTTP padrão para realizar operações sobre recursos:
- GET: Obter um recurso ou coleção de recursos.
- POST: Criar um novo recurso.
- PUT: Atualização completa de um recurso existente.
- PATCH: Atualização parcial de um recurso existente.
- DELETE: Eliminar um recurso.
Exemplo de representação JSON de um recurso:
{
"id": 1, // Identificador
"name": "Resource Name", // Nome do recurso
"description": "Detailed description of the resource." // Descrição do recurso
}
Testar a API REST inclui verificar:
- Funcionalidade (correção das respostas às requisições).
- Tratamento de erros.
- Desempenho.
- Segurança.
- Conformidade com a documentação.