Pular para o conteúdo principal

Questão de Programação — JSON — FGV 2024

ProgramaçãoJSON
Código
fg098213
Banca
FGV
Órgão
TJ-AP
Ano
2024
Nível
Superior
Cargo
Apoio Especializado - Tecnologia da Informação - Desenvolvimento de Sistemas
Breno está criando um serviço REST, que será disponibilizado por meio de um aplicativo Spring Boot. Como ele já conhece o padrão do REST, criou um método de inclusão no controlador, tendo como parâmetro uma entidade do tipo gerenciado pelo serviço.Para que o parâmetro receba corretamente os dados fornecidos pela requisição, no formato JSON, Breno irá utilizar nesse parâmetro a anotação:
  1. APostMapping;
  2. BRestController;
  3. CGetMapping;
  4. DRequestBody;
  5. EPathParam.
Revelar gabarito e comentário

GabaritoD — RequestBody;

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”.

Anotações Spring Boot para REST

Gabarito: letra D. Para receber os dados da requisição no formato JSON em um parâmetro de método em um controlador REST do Spring Boot, a anotação correta é @RequestBody. Essa anotação vincula o corpo da requisição HTTP a um objeto Java, realizando a desserialização automática do JSON.

A questão testa o conhecimento das anotações mais comuns do Spring MVC para construção de APIs REST. Vamos analisar cada alternativa:

Alternativa A — ❌ Incorreta

@PostMapping é uma anotação de nível de método que mapeia requisições HTTP POST para o método. Ela não é usada em parâmetros.

Alternativa B — ❌ Incorreta

@RestController é uma anotação de classe que combina @Controller e @ResponseBody, indicando que a classe é um controlador onde cada método retorna dados diretamente (não uma view). Não se aplica a parâmetros.

Alternativa C — ❌ Incorreta

@GetMapping é similar ao @PostMapping, mas para requisições GET. Também é anotação de método, não de parâmetro.

Alternativa D — ✅ Correta ⟵ GABARITO

@RequestBody é a anotação de parâmetro usada para extrair o corpo da requisição e convertê-lo para o tipo do parâmetro. No contexto REST com Spring, o formato padrão de serialização é JSON (quando o Jackson está no classpath). Assim, Breno deve usá-la para receber a entidade no formato JSON.

Alternativa E — ❌ Incorreta

@PathVariable (escrito erroneamente como @PathParam na alternativa) é usada para extrair valores da URI (partes variáveis do path), não do corpo da requisição.

PEGA ESSA DICA!

Lembre-se do papel de cada anotação: @RequestBody → corpo da requisição; @PathVariable → parâmetros de URL; @RequestParam → parâmetros de query string. Em APIs REST, @RequestBody é essencial para operações POST, PUT e PATCH que enviam dados no corpo.

Gabarito: letra D.

Link permanente: /questoes/fg098213