Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — FCC 2022

ProgramaçãoFrameworks em Programação
Código
fc064605
Banca
FCC
Órgão
TRT - 17ª Região (ES)
Ano
2022
Cargo
Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação
Em uma aplicação que utiliza Spring Boot, em condições ideais, o arquivo index.html possui o formulário abaixo.

<form method="POST" action="login">
    <label for="usuario">Usuário:</label>
    <input type="text" name="user" id="usuario">
    <label for="senha">Senha:</label>
    <input type="password" name="senha" id="senha">
    <input type="submit" value="Entrar">
</form>


Na classe Controle.java dessa aplicação, que possui a anotação @Controller, há um método chamado receberLogin. Para indicar que este método deve receber os dados do formulário acima ao se clicar no botão Entrar, imediatamente após a declaração deste método deve ser colocada a anotação
  1. A@RequestMapping(value = "/login", method = RequestMethod.POST)
  2. B@Request(HttpMethod = "POST" param = "/login")
  3. C@HttpServletRequest(method = "POST" requestFrom = "/login")
  4. D@SpringMapping(method = "post", paramRequest = "/login")
  5. E@HttpServletRequest(value = "/login", method = RequestMethod.POST)
Revelar gabarito e comentário

GabaritoA — @RequestMapping(value = "/login", method = RequestMethod.POST)

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

Spring Boot – Anotação @RequestMapping

Gabarito: letra A. A anotação @RequestMapping(value = "/login", method = RequestMethod.POST) mapeia o método receberLogin para requisições HTTP POST no caminho "/login", alinhado ao formulário HTML que envia os dados nessa rota.

Em Spring MVC, classes com @Controller definem métodos que respondem a requisições web. O mapeamento é feito por @RequestMapping ou suas variantes (ex.: @PostMapping). No formulário, method="POST" e action="login" indicam que o envio deve ser tratado por esse método.

Alternativa A — ✅ Correta ⟵ GABARITO

Sintaxe correta: @RequestMapping(value = "/login", method = RequestMethod.POST). Define tanto o caminho quanto o verbo HTTP.

Alternativa B — ❌ Incorreta

@Request(HttpMethod = "POST" param = "/login") não é uma anotação do Spring. A anotação @Request não existe nesse contexto.

Alternativa C — ❌ Incorreta

@HttpServletRequest(method = "POST" requestFrom = "/login") não existe. HttpServletRequest é uma interface do Servlet, não uma anotação de mapeamento.

Alternativa D — ❌ Incorreta

@SpringMapping(method = "post", paramRequest = "/login") é uma invenção. O Spring não possui essa anotação.

Alternativa E — ❌ Incorreta

@HttpServletRequest(value = "/login", method = RequestMethod.POST) novamente usa nome de classe errado. Não é a anotação correta.

PEGA ESSA DICA!

Decore as anotações padrão do Spring MVC: @RequestMapping, @GetMapping, @PostMapping, etc. @PostMapping("/login") é um atalho para @RequestMapping(method = POST, value = "/login").

Gabarito: letra A

Link permanente: /questoes/fc064605