Junior — Middle
Podes explicar os princípios básicos da arquitetura REST e como eles são implementados no desenvolvimento de APIs?
sobes.tech IA
Resposta da IA
REST (Transferência de Estado Representacional) é um estilo arquitetónico para criar serviços web, baseado numa série de princípios:
- Arquitetura cliente-servidor: o cliente e o servidor estão separados, o que simplifica o desenvolvimento e a escalabilidade.
- Sem estado (stateless): cada pedido do cliente ao servidor deve conter toda a informação necessária, o servidor não mantém estado entre pedidos.
- Caching: as respostas podem ser armazenadas em cache para melhorar o desempenho.
- Interface única: uso de métodos HTTP padrão (GET, POST, PUT, DELETE) para operações com recursos.
- Identificação de recursos via URI: cada recurso tem um endereço único.
- Sistema multinível: a arquitetura pode consistir em vários níveis, como proxies, gateways.
Na implementação de uma API REST, estes princípios são seguidos assim:
- Os recursos (por exemplo, utilizadores, produtos) são representados por URLs, por exemplo
/users/123. - São utilizados métodos HTTP: GET para obter, POST para criar, PUT/PATCH para atualizar, DELETE para eliminar.
- O servidor não mantém sessões, todos os dados para processar a requisição são transmitidos nela.
- As respostas podem conter cabeçalhos para cache.
- Os formatos de dados geralmente são JSON ou XML.
Exemplo de pedido para obter um utilizador:
GET /users/123 HTTP/1.1
Host: example.com
Accept: application/json
Resposta:
{
"id": 123,
"name": "Ivan Ivanov"
}