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:
- Cliente-servidor (Client-Server): Separação de responsabilidades. O cliente cuida da interface do utilizador, o servidor do armazenamento e processamento de dados.
- 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.
- Cacheável: Os clientes e os nós intermédios podem guardar respostas em cache para melhorar o desempenho e a escalabilidade.
- 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.
- 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.
- 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).