Pular para o conteúdo principal

Questão de Arquitetura de Software — Padrões de projeto (Design Patterns) — CESPE / CEBRASPE 2024

Arquitetura de SoftwarePadrões de projeto (Design Patterns)
Código
ce176006
Banca
CESPE / CEBRASPE
Órgão
LNA
Ano
2024
Nível
Superior
Cargo
Tecnologista – Especialidade: Desenvolvimento e Arquitetura de Software
Para que uma API seja reconhecida como RESTful, ela deve atender a alguns critérios adicionais aos princípios REST. Entre esses critérios está a interface uniforme, que pode ser obtida
  1. Apela garantia de que será fornecido o mesmo resultado pelo servidor, independentemente de quantas vezes for requisitado recurso.
  2. Bpelas informações completas e necessárias fornecidas pelo cliente para que o servidor entenda e processe a requisição.
  3. Cpela identificação de recursos em requisições de forma única.
  4. Dpelos depósitos temporários (cache) dos resultados retornados pelo servidor.
  5. Epela aplicação de operações (como get, post, put, delete) aos recursos para a realização de ações.
Revelar gabarito e comentário

GabaritoC — pela identificação de recursos em requisições de forma única.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

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.

Link permanente: /questoes/ce176006