Questão FC373685
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:</l
Frameworks para Desenvolvimento
FCC · 2022
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">
<label for="senha">Senha:</label>
<input type="password" name="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
- @RequestMapping(value = "/login", method = RequestMethod.POST)
- @Request(HttpMethod = "POST" param = "/login")
- @HttpServletRequest(method = "POST" requestFrom = "/login")
- @SpringMapping(method = "post", paramRequest = "/login")
- @HttpServletRequest(value = "/login", method = RequestMethod.POST)
Mostrar resposta e comentário
Gabarito
A
Comentário do professor
A anotação @RequestMapping(value = "/login", method = RequestMethod.POST) indica ao Spring que aquele método da classe anotada com @Controller deve tratar requisições HTTP cujo caminho seja /login e cujo verbo seja POST.
No formulário apresentado o atributo action é "login" e o method é "POST", portanto a combinação de value = "/login" com RequestMethod.POST corresponde exatamente à rota e ao tipo de requisição gerados ao clicar em "Entrar".
Assim, ao submeter o formulário o Spring Dispatcher encaminhará a chamada para esse método específico. Para obter os valores dos campos você pode usar, dentro do método, parâmetros anotados com @RequestParam correspondentes aos nomes dos inputs (user e senha).
Conteúdo do catálogo FC Concursos · Atualizado em