Olá, pessoal. Boa tarde. Por favor, poderiam me ajudar? Estou seguindo este curso e fazendo um projeto semelhante, no meu caso, ao invés de editar um filme, seria editado os dados de um usuário. Tudo estava ok até então... fiz as alterações no @GetMapping ficando da seguinte forma, como instruído:
@GetMapping("/formulario")//verbo HTTP
public String carregaPaginaFormulario(String cpf, Model model) {
if (cpf != null){
var usuario = repository.getReferenceById(cpf);
model.addAttribute("usuario", usuario);
}
return "usuarios/formulario";
}
E na minha página de cadastro, fiz como pedido, incluindo th:value em cada input... ficando dessa forma:
<h1>Cadastro de Usuários</h1>
<form method="post" action="/usuarios"><!-- Método post: envio -->
<label for="nome">Nome:</label>
<input type="text" id="nome" name="nome"><br>
<label for="cpf">CPF:</label>
<input type="text" id="cpf" name="cpf" placeholder="Ex.: 00000000000" th:value="${usuario.cpf}"><br>
<label for="datanasc">Data de nascimento:</label>
<input type="date" id="datanasc" name="datanasc" placeholder="Ex.: dd/mm/aaaa" th:value="${usuario.datanasc}"><br>
<label for="sexo">Sexo:</label>
<input type="radio" id="sexo" value="F" name="sexo" th:value="${usuario.sexo}">
<label for="sexo">Feminino</label>
<input type="radio" id="sexo" value="F" name="sexo" th:value="${usuario.sexo}">
<label for="sexo">Masculino</label><br>
<label for="cargo">Cargo:</label>
<input type="text" id="cargo" name="cargo" th:value="${usuario.cargo}"><br>
<input type="submit" value="Cadastrar">
</form>
Porém, percebi que se retiro todos os th:value com exceção do cpf, a pagina recarrega normalmente com o campo do cpf já preenchido mas apenas ele. Se deixo todos, ou ao menos um que não seja o cpf, já gera um erro ao clicar para abrir a página de formulario em branco ou para edição. É possível ver nas imagens abaixo. Existe o "caused by" para todos os atributos, exceto para o cpf.