Pular para o conteúdo principal

Questão de Arquitetura de Software — WebServices — FGV 2024

Arquitetura de SoftwareWebServices
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.
  1. ANormalmente, uma solicitação PUT cria um novo registro.
  2. BNenhum dado do cliente é armazenado no servidor entre as solicitações e toda solicitação é separada e desconectada.
  3. CNão há a possibilidade de utilização de cache.
  4. DUtiliza WSDL como linguagem de descrição de serviços web.
  5. 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

1Princípios
Stateless (sem estado)
Cache (cabeçalhos HTTP)
Interface uniforme
2Métodos HTTP
GET (ler)
POST (criar)
PUT (atualizar/criar URI)
DELETE (remover)
3Formatos
JSON
XML
4Descrição
OpenAPI (Swagger)
RAML
REST (estilo arquitetural)
LEVELsoulevel.com.br
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.

Gabarito: letra B

Link permanente: /questoes/fg099923