REST e APIs RESTful
Gabarito: letra C. A interface uniforme, um dos critérios para uma API ser RESTful, é obtida pela identificação única de recursos, ou seja, cada recurso deve ser endereçado por um URI distinto. Esse é um dos pilares da arquitetura REST, conforme descrito na tese de Roy Fielding e consolidado na prática de desenvolvimento de APIs.
A banca cobra o conhecimento dos princípios REST, especialmente o conceito de interface uniforme. A seguir, a análise de cada alternativa.
Alternativa | Descrição | Relação com Interface Uniforme | Correta? |
|---|
A | Garantia de mesmo resultado independentemente do número de requisições | Refere-se a idempotência/cacheabilidade, não à interface uniforme | ❌ |
B | Informações completas fornecidas pelo cliente para o servidor processar a requisição | Aproxima-se de mensagens autodescritivas, mas é vaga e não captura o aspecto central | ❌ |
C | Identificação de recursos em requisições de forma única | Pilar da interface uniforme: cada recurso possui URI distinta | ✅ |
D | Depósitos temporários (cache) dos resultados retornados pelo servidor | Refere-se à cacheabilidade, restrição separada da interface uniforme | ❌ |
E | Aplicação de operações (GET, POST, PUT, DELETE) aos recursos | Descreve uso de métodos HTTP, mas não define a interface uniforme | ❌ |
Alternativa A — ❌ Incorreta
A alternativa menciona "garantia de que será fornecido o mesmo resultado... independentemente de quantas vezes for requisitado". Isso se refere à propriedade de idempotência ou cacheabilidade, mas não à interface uniforme. REST não garante o mesmo resultado em todas as requisições; por exemplo, um recurso pode ser alterado. A interface uniforme diz respeito à padronização na forma como os recursos são identificados e manipulados.
Alternativa B — ❌ Incorreta
A descrição de "informações completas e necessárias fornecidas pelo cliente para que o servidor entenda e processe a requisição" aproxima-se do conceito de mensagens autodescritivas, que é um subcomponente da interface uniforme. No entanto, a alternativa é vaga e não captura o aspecto central da identificação de recursos. A afirmação não é a melhor definição.
Alternativa C — ✅ Correta ⟵ GABARITO
A identificação de recursos de forma única é um dos pilares da interface uniforme. Conforme o texto sobre REST: "cada recurso é unicamente direcionado através da sua URI". Esse princípio garante que cada recurso tenha um identificador global (URI), permitindo que as operações sejam realizadas de maneira padronizada. Sem essa identificação única, não seria possível aplicar os demais princípios REST.
Conceito extraído do conteúdo de apoio:
"cada recurso é unicamente direcionado através da sua URI."
Alternativa D — ❌ Incorreta
Cache é uma restrição separada na arquitetura REST (cacheabilidade), mas não faz parte da interface uniforme. A interface uniforme é composta por identificação de recursos, manipulação via representações, mensagens autodescritivas e HATEOAS. Portanto, depósitos temporários de resultados (cache) não são um meio para obter a interface uniforme.
Alternativa E — ❌ Incorreta
A aplicação de operações HTTP (GET, POST, PUT, DELETE) aos recursos é parte da manipulação de recursos, que é um dos componentes da interface uniforme. No entanto, a alternativa não menciona a identificação dos recursos, que é fundamental. A interface uniforme exige que os recursos sejam identificados de forma única para que as operações possam ser aplicadas. A alternativa por si só não descreve corretamente como a interface uniforme é obtida.
Conclusão: A alternativa C é a única que descreve corretamente um dos critérios da interface uniforme em RESTful APIs.