Sobes.tech
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"
}