Questão nº 41
Questão de Tecnologia da Informação · FCC TRT17 2022 (nº 41)
Em uma aplicação que utiliza Spring Boot, em condições ideais, uma página HTML possui o formulário abaixo.
```html
<form method="POST" action="salvar">
<label for="nome">Nome:</label>
<input type="text" name="nome" id="nome">
<input type="submit" value="Enviar">
</form>
```
Na mesma aplicação, em uma classe Controle.java, que possui a anotação `@Controller`, há o método chamado salvarDados, mostrado abaixo.
```java
@RequestMapping(value = "/salvar", method = RequestMethod.POST)
@ResponseBody
public ModelAndView salvarDados ( I , Model model) {
//Conteúdo do método aqui
}
```
Para receber o parâmetro nome, referente ao campo nome do formulário, vinculando-o a um parâmetro do método salvarDados, a lacuna I deve ser preenchida corretamente com a anotação:
- A`@ParamName("nome") String nome`
- B`@RequestParam(name = "nome") String nome` (alternativa correta)
- C`@PostRequest("nome") String nome`
- D`@RequestParameter (name = "nome") String nome`
- E`@MappingParam(name = "nome") String nome`
Resposta comentada
Gabarito Alternativa B
Quando um formulário HTML envia dados para sua aplicação Spring Boot, a anotação @RequestParam é usada para "pegar" um valor específico que veio na requisição web e associá-lo a um parâmetro do seu método Java.
- (A) Incorreta:
@ParamNamenão é uma anotação padrão do Spring Framework para vincular parâmetros de requisição. - (B) Correta: A anotação
@RequestParamé a forma padrão e correta no Spring para extrair valores de parâmetros de requisição (como os enviados por formulários HTML) e vinculá-los a um argumento de método. O atributoname = "nome"especifica que o parâmetro da requisição a ser buscado é o que tem o nome "nome". - (C) Incorreta:
@PostRequestnão é uma anotação padrão do Spring para vincular parâmetros. Anotações como@PostMappingsão usadas para mapear requisições HTTP POST, mas não para extrair parâmetros individuais. - (D) Incorreta: Embora muito similar, a anotação correta é
@RequestParam(com 'P' maiúsculo no 'Param').@RequestParameter(com 'P' minúsculo no 'Parameter') não existe no Spring, sendo uma pegadinha de capitalização. - (E) Incorreta:
@MappingParamnão é uma anotação padrão do Spring Framework para vincular parâmetros de requisição.@RequestMappingé usado para mapear URLs, não parâmetros.
Fonte: FCC TRT17 2022 Técnico Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 001). Reproduzida para fins de estudo.