Junior
Quais APIs podem ser considerados RESTful?
sobes.tech IA
Resposta da IA
As API RESTful cumprem os princípios do estilo arquitetónico REST:
- Cliente-servidor: Separação de responsabilidades entre o cliente, que solicita recursos, e o servidor, que os fornece.
- Sem estado (Stateless): Cada pedido do cliente ao servidor deve conter todas as informações necessárias para processar o pedido. O servidor não mantém estado de sessão do cliente.
- Cacheável: O servidor deve indicar explicitamente ou implicitamente se as respostas podem ser armazenadas em cache pelo cliente ou intermediários.
- Sistema em camadas: O cliente não consegue distinguir entre uma chamada direta ao servidor e uma através de camadas intermediárias (proxy, balanceadores de carga, etc.).
- Código sob demanda (opcional): O servidor pode temporariamente ampliar a funcionalidade do cliente transmitindo código executável (por exemplo, JavaScript).
- Interface uniforme: O princípio mais importante da API RESTful. Consiste em quatro restrições:
- Identificação de recursos: Os recursos são identificados por URLs.
- Manipulação de recursos através de representações: O cliente interage com os recursos obtendo suas representações (por exemplo, em formato JSON, XML).
- Mensagens auto-descritivas: Cada mensagem contém informações suficientes para ser processada, incluindo metadados sobre como processar a mensagem e o recurso.
- HATEOAS (Hypermedia as the Engine of Application State): O servidor deve incluir links em suas respostas que permitam ao cliente descobrir ações disponíveis e navegar entre os estados da aplicação. Este é o princípio menos frequentemente cumprido.
As API RESTful usam métodos HTTP padrão (GET, POST, PUT, DELETE, PATCH) para operações sobre recursos identificados por URIs.
Por exemplo, uma requisição GET a /api/users/123 obtém a representação do usuário com ID 123.