Joana é a arquiteta de software da equipe de desenvolvimento de sistemas (EDS) de um tribunal e definiu a utilização do REST (REpresentational State Transfer) como estilo arquitetural para a API (Application Programming Interface) que será consumida por aplicações distintas disponibilizadas via Internet. Para atender ao estilo arquitetural definido por Joana, os desenvolvedores devem criar endpoints capazes de:
- A)receber requisições que contenham todas as informações necessárias para o servidor entender e responder;
Correta, porque REST exige requisições stateless, ou seja, cada chamada deve conter as informações necessárias para o servidor processá-la.
- B)manter os dados das sessões dos usuários previamente autenticados;
Errada, porque manter dados de sessão no servidor contraria o princípio de ausência de estado do REST.
- C)utilizar WSDL (Web Services Description Language) como protocolo de comunicação entre o cliente e o servidor;
Errada, porque WSDL é associado a serviços SOAP, não ao estilo arquitetural REST.
- D)atender às requisições HTTP/1.1 (Hypertext Transfer Protocol) de buscas de dados, que sejam mais frequentes, de forma otimizada, buscando primeiro no cache mantido no servidor;
Errada, porque cache pode existir em REST, mas a alternativa descreve uma regra inadequada e não um requisito do estilo.
- E)responder às requisições de busca de dados, disponibilizando-os ao cliente como serviços WSDL (Web Services Description Language).
Errada, porque WSDL não é a forma de disponibilizar serviços REST; isso remete a SOAP, não a REST.
Gabarito: A
Em REST, a ideia central é simples: cada requisição deve trazer tudo o que o servidor precisa para entendê-la e processá-la, sem depender de estado salvo de chamadas anteriores. Isso é o famoso princípio de statelessness, ou seja, o servidor não guarda o contexto da sessão do cliente entre uma chamada e outra. Em prova, quando aparecer REST, pense logo em independência entre requisições, uso de HTTP e foco em recursos, não em sessões longas ou protocolos como WSDL. Por isso, a alternativa correta é a A. Se o endpoint recebe uma requisição com todas as informações necessárias, ele segue bem o estilo REST, porque a comunicação fica desacoplada e escalável. Cada chamada já “se vira sozinha”, o que facilita distribuição, balanceamento e manutenção. As outras alternativas misturam REST com características de outras abordagens. WSDL é típico de serviços SOAP, não de REST. Manter dados de sessão no servidor também foge da lógica REST. E otimização por cache pode existir em REST, mas não é a essência cobrada aqui, além de a redação da alternativa D ficar inadequada ao tratar busca de dados como algo que o servidor deve fazer “primeiro no cache” como regra arquitetural. Em concursos, a FGV gosta bastante de testar essa diferença entre REST e SOAP. Se você lembrar que REST trabalha com recursos via HTTP e com requisições sem estado, já mata boa parte das pegadinhas.