Questão de Arquitetura de Software — WebServices — FGV 2024
Arquitetura de Software›WebServices
Código
fg099923
Banca
FGV
Órgão
TJ-RR
Ano
2024
Nível
Superior
Cargo
Analista Judiciário - Desenvolvimento de Sistemas
Uma API REST (Representational State Transfer) é uma interface que permite a comunicação entre sistemas utilizando um determinado protocolo, em que os recursos são acessados e manipulados por meio de requisições padrão como GET, POST, PUT e DELETE, seguindo princípios de simplicidade, escalabilidade e independência de plataforma.Isso posto, marque a opção correta a seguir sobre API REST.
ANormalmente, uma solicitação PUT cria um novo registro.
BNenhum dado do cliente é armazenado no servidor entre as solicitações e toda solicitação é separada e desconectada.
CNão há a possibilidade de utilização de cache.
DUtiliza WSDL como linguagem de descrição de serviços web.
EÉ um protocolo com requisitos específicos, como a mensageria XML.
Revelar gabarito e comentário▾
GabaritoB — Nenhum dado do cliente é armazenado no servidor entre as solicitações e toda solicitação é separada e desconectada.
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: ausência de estado (statelessness)
Gabarito: letra B. A alternativa B descreve corretamente a característica fundamental de APIs REST: a ausência de estado (statelessness). No REST, cada requisição do cliente ao servidor deve conter toda a informação necessária para ser compreendida, e o servidor não armazena nenhum contexto do cliente entre as requisições. Isso está em linha com o estilo arquitetural REST, conforme definido por Fielding.
As demais alternativas apresentam erros conceituais:
Característica
Descrição
Alternativa Correta?
Ausência de estado (statelessness)
Nenhum dado do cliente é armazenado no servidor entre as solicitações; toda solicitação é separada e desconectada.
✅ B (Gabarito)
Método PUT
Utilizado para atualizar um recurso existente ou criar com URI específica; criação típica é com POST.
❌ A
Cache
Suportado via cabeçalhos HTTP (Cache-Control, ETag, Expires); melhora eficiência.
❌ C
Linguagem de descrição
REST usa OpenAPI (Swagger), RAML, etc.; WSDL é de SOAP.
❌ D
Protocolo vs. Estilo
REST é estilo arquitetural que usa HTTP; não exige XML, podendo usar JSON, XML, etc.
❌ E
REST (estilo arquitetural): Princípios (Stateless (sem estado), Cache (cabeçalhos HTTP), Interface uniforme); Métodos HTTP (GET (ler), POST (criar), PUT (atualizar/criar URI), DELETE (remover)); Formatos (JSON, XML); Descrição (OpenAPI (Swagger), RAML)
Alternativa A — ❌ Incorreta
A afirmação de que "normalmente, uma solicitação PUT cria um novo registro" é imprecisa. O método PUT é utilizado para atualizar um recurso existente ou, em alguns casos, criar um recurso com uma URI específica, mas a operação típica de criação de novos registros é feita com o método POST. Além disso, PUT é idempotente, enquanto POST não é.
Alternativa B — ✅ Correta ⟵ GABARITO
A descrição "nenhum dado do cliente é armazenado no servidor entre as solicitações e toda solicitação é separada e desconectada" corresponde exatamente ao princípio stateless do REST. Cada requisição é independente, e o servidor não mantém sessão ou estado do cliente entre chamadas. Essa característica promove escalabilidade e simplicidade.
Alternativa C — ❌ Incorreta
Afirmar que "não há a possibilidade de utilização de cache" é falso. APIs REST suportam cache através de cabeçalhos HTTP como Cache-Control, ETag, Expires etc. O cache é uma das restrições do estilo REST e melhora a eficiência.
Alternativa D — ❌ Incorreta
WSDL (Web Services Description Language) é uma linguagem de descrição de serviços SOAP, não de APIs REST. REST utiliza outras formas de descrição como OpenAPI (Swagger), RAML ou não utiliza descrição formal. Portanto, a alternativa está errada.
Alternativa E — ❌ Incorreta
REST não é um protocolo, mas sim um estilo arquitetural que utiliza o protocolo HTTP (ou outros) como base. Além disso, não exige mensageria XML; pode usar JSON, XML, ou qualquer outro formato de representação. A afirmação confunde REST com SOAP, que é um protocolo e geralmente usa XML.
NÃO CAIA NESSA!
A banca explora a confusão entre os métodos HTTP. Embora PUT possa criar um recurso se ele não existir (com URI definida), a operação padrão de criação é POST. Além disso, a descrição "cria novo registro" remete a POST, não a PUT. Cuidado para não confundir.