Para que uma API seja reconhecida como RESTful, ela deve at...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é a C: pela identificação de recursos em requisições de forma única.
Vamos agora discorrer sobre o tema da questão e justificar tanto a alternativa correta quanto as alternativas incorretas.
Para entender o porquê, é essencial compreender o que é uma API RESTful e os critérios que ela deve atender. REST (Representational State Transfer) é uma arquitetura que usa um conjunto de restrições e princípios para a construção de serviços web. Um dos princípios fundamentais de REST é a interface uniforme, que facilita a interação entre sistemas sem que uma parte precise conhecer detalhes da implementação da outra.
Para que uma API seja considerada RESTful, um dos critérios principais é a identificação de recursos de forma única, geralmente através de URLs. Isso significa que cada recurso que a API manipula deve ser acessível através de um identificador único.
Justificando a alternativa C:
Identificação de recursos em requisições de forma única é um aspecto crucial da interface uniforme em APIs RESTful. Cada recurso deve ser identificável por uma URL única, permitindo que clientes interajam com recursos específicos de maneira previsível e consistente. Por exemplo, um recurso de usuário pode ser acessado através de /api/usuarios/{id}
, onde {id}
é um identificador único.
Agora, vamos analisar as alternativas incorretas:
Alternativa A: pela garantia de que será fornecido o mesmo resultado pelo servidor, independentemente de quantas vezes for requisitado recurso.
Embora a idempotência seja um conceito importante em algumas operações HTTP (como GET), ela não está diretamente relacionada ao critério de interface uniforme.
Alternativa B: pelas informações completas e necessárias fornecidas pelo cliente para que o servidor entenda e processe a requisição.
Isso se refere mais à comunicação clara entre cliente e servidor, mas não está diretamente vinculado à interface uniforme.
Alternativa D: pelos depósitos temporários (cache) dos resultados retornados pelo servidor.
A cacheabilidade é um aspecto importante de uma API RESTful, mas ela não define a interface uniforme em si. É mais sobre a eficiência da comunicação.
Alternativa E: pela aplicação de operações (como get, post, put, delete) aos recursos para a realização de ações.
Embora o uso de métodos HTTP padronizados (GET, POST, PUT, DELETE) seja parte das práticas recomendadas para APIs RESTful, isso sozinho não garante uma interface uniforme.
Espero que essas explicações tenham deixado claro por que a alternativa C é a correta e como se diferenciam as outras alternativas. Se restar alguma dúvida ou precisar de mais esclarecimentos, estou à disposição!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
um dos padrões pra uma API ser considerada RESTful é o da interface uniforme, basicamente:
- cada recurso deve ser identificado de forma única por uma URI
- mensagens transmitidas entre cliente e servidor precisam ser autodescritivas
- o servidor tem que fornece links que ajudem o usuário a descobrir os recursos relacionados (HATEOAS)
Otimo comentário do @JokerConcurseiro, mas para complementar o que acredito ter sido a pegadinha da questão, na alternativa "pela aplicação de operações (como get, post, put, delete) aos recursos para a realização de ações." Ele não afirma o uso correto dos verbos HTTP por operação realizada, e isso é um dos pontos que o autor do Rest Roy Fielding também defende.
Um exemplo de um uso errado dos verbos HTTP seria um endpoint que através do POST faça consultas e otro que com GET faça inserções. Por isso que está alternativa está errada !
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo