Questão de Arquitetura de Software — WebServices — FURB 2024
Arquitetura de Software›WebServices
Código
qg190308
Banca
FURB
Órgão
Câmara de Brusque - SC
Ano
2024
Nível
Superior
Cargo
Analista de Tecnologia da Informação
No contexto de APIs RESTful, qual é a importância da utilização do parâmetro fields em uma requisição? Assinale a alternativa que responde corretamente à questão:
APermite ao cliente solicitar apenas os campos específicos de um recurso que são relevantes para sua necessidade, otimizando a resposta da API.
BDetermina o idioma da resposta, adaptando o conteúdo textual e os campos retornados de acordo com as configurações do cliente.
CEstabelece o nível de detalhe da resposta, permitindo ao cliente escolher entre representações resumidas ou completas do recurso, além de controlar a quantidade de dados recebidos.
DDefine o formato de serialização da resposta, como JSON ou XML, de acordo com a preferência do cliente, ajustando também os campos a serem retornados conforme o formato.
EEspecifica os cabeçalhos HTTP adicionais que devem ser incluídos na resposta, como informações de paginação ou cache, e pode influenciar o conteúdo retornado.
Revelar gabarito e comentário▾
GabaritoA — Permite ao cliente solicitar apenas os campos específicos de um recurso que são relevantes para sua necessidade, otimizando a resposta da API.
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”.
Parâmetro fields em APIs RESTful
Gabarito: letra A. O parâmetro fields permite que o cliente especifique quais campos de um recurso deseja receber, reduzindo os dados transferidos e otimizando a resposta. É uma funcionalidade conhecida como sparse fieldsets ou projection.
A banca testa a distinção entre fields e outros mecanismos de controle de resposta (idioma, nível de detalhe, formato, cabeçalhos). Vamos analisar cada alternativa.
Controle de resposta em APIs RESTful: fields (query parameter) (Projeção de atributos específicos, Otimiza dados transferidos); Accept-Language (cabeçalho) (Idioma da resposta); embed/expand (Nível de detalhe / recursos aninhados); Accept (cabeçalho) / extensão URL (Formato de serialização (JSON, XML)); Cabeçalhos de resposta (Paginação, cache)
Alternativa A — ✅ Correta ⟵ GABARITO
Descreve exatamente a função do parâmetro fields: o cliente solicita apenas os campos relevantes, e a API retorna somente esses, otimizando a quantidade de dados. É uma prática comum em APIs RESTful para melhorar desempenho e reduzir tráfego.
Alternativa B — ❌ Incorreta
Refere-se à negociação de idioma, que é feita pelo cabeçalho HTTP Accept-Language, não pelo parâmetro fields. O fields não adapta texto nem idioma.
Alternativa C — ❌ Incorreta
Descreve o conceito de embed ou expand (incluir recursos relacionados) ou níveis de detalhe (summary vs full), que são controles diferentes. fields seleciona campos específicos, não altera o nível de aninhamento ou detalhe.
Alternativa D — ❌ Incorreta
Formato de serialização (JSON, XML) é definido pelo cabeçalho Accept ou por extensão de URL (.json, .xml). O fields não determina o formato.
Alternativa E — ❌ Incorreta
Cabeçalhos HTTP adicionais (paginação, cache) são especificados em cabeçalhos de resposta, não por um parâmetro fields. Embora fields possa influenciar o conteúdo, a descrição é genérica e se aplica a outros mecanismos.
NÃO CAIA NESSA!
Lembre-se que fields é uma query parameter para projeção de atributos. Não confunda com expand (nível de detalhe), language (idioma) ou format (serialização). Nas provas, a banca costuma misturar esses conceitos.