Sobes.tech
Junior

O que é arquitetura orientada a REST (ROA)?

sobes.tech IA

Resposta da IA

A arquitetura orientada a REST (Transferência de Estado Representacional) é um estilo arquitetónico para sistemas distribuídos, baseado num conjunto de princípios que definem como os recursos são identificados e como ocorre a interação entre cliente e servidor.

Princípios principais do REST:

  1. Cliente-servidor (Client-Server): Separação de responsabilidades. O cliente cuida da interface do utilizador, o servidor do armazenamento e processamento de dados.
  2. Sem estado (Stateless): Cada pedido do cliente ao servidor deve conter toda a informação necessária para o processar. O servidor não mantém estado do cliente entre pedidos.
  3. Cacheável: Os clientes e os nós intermédios podem guardar respostas em cache para melhorar o desempenho e a escalabilidade.
  4. Interface uniforme:
    • Identificação de recursos: Os recursos são identificados de forma única através de URLs.
    • Manipulação de recursos através de representações: O cliente pode manipular recursos usando a representação do recurso (por exemplo, JSON, XML).
    • Mensagens auto-descritivas: Cada mensagem contém informações suficientes para entender como processá-la.
    • Gestão do estado da aplicação através de hipermédia (HATEOAS): O cliente interage com a aplicação apenas através de hiperligações fornecidas nas respostas do servidor.
  5. Sistema em camadas: O sistema pode ser organizado em camadas (por exemplo, proxies, gateways), e cada componente vê apenas a próxima camada com a qual interage.
  6. Código sob demanda (Code-On-Demand - opcional): O servidor pode temporariamente expandir a funcionalidade do cliente transmitindo código executável (por exemplo, JavaScript).

Na QA, os testes de API REST incluem verificar a conformidade com estes princípios, bem como:

  • Testes funcionais (métodos HTTP GET, POST, PUT, DELETE).
  • Testes de carga.
  • Testes de segurança.
  • Testes de compatibilidade (diferentes formatos de dados, clientes).