Bom dia, alguém pode me ajudar por favor? Já refiz o código algumas vezes, mas não está abrindo o formulário no navegador. Já reinciei a aplicação com o "stop" do intellij, mas ainda assim não funciona e às vezes, retorna o erro de número "500" no lugar do 404.
Vou deixar aqui um print de como está organizado meu código e também os códigos de cada classe.
**Filme Controller: **
package controller;
import model.DadosCadastroFilme;
import model.Filme;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.ArrayList;
import java.util.List;
@Controller
@RequestMapping("/filmes")
public class FilmeController {
private List<Filme> listaDeFilmes = new ArrayList<>();
@GetMapping
public String carregaPaginaFormulario(){
return "filmes/formulario";
}
@PostMapping
public String cadastraFilme(DadosCadastroFilme dados){
var filme = new Filme(dados);
listaDeFilmes.add(filme);
System.out.println(listaDeFilmes);
return "filmes/formulario";
}
}
**Record: **
package model;
public record DadosCadastroFilme(String nome, Integer duracao, Integer anoDeLancamento, String genero) {
}
**Filme **
package model;
public class Filme {
public Filme(DadosCadastroFilme dados){
this.nome = dados.nome();
this.duracao = dados.duracao();
this.anoDeLancamento = dados.anoDeLancamento();
this.genero = dados.genero();
}
public String getNome() {
return nome;
}
public Integer getDuracao() {
return duracao;
}
public Integer getAnoDeLancamento() {
return anoDeLancamento;
}
public String getGenero() {
return genero;
}
private String nome;
private Integer duracao;
private Integer anoDeLancamento;
private String genero;
@Override
public String toString() {
return "Filme{" +
"nome='" + nome + '\'' +
", duracao=" + duracao +
", anoDeLancamento=" + anoDeLancamento +
", genero='" + genero + '\'' +
'}';
}
}
Formulário
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Cadastro de Filme</title>
</head>
<body>
<h1>Cadastre um novo filme: </h1>
<form method="post">
<label for="nome">Nome: </label>
<input name="nome" id="nome">
<br>
<label for="duracao">Duração: </label>
<input name="duracao" id="duracao">
<br>
<label for="ano">Ano de Lançamento: </label>
<input name="ano" id="ano">
<br>
<label for="genero">Gênero: </label>
<input name="genero" id="genero">
<br>
<input type="submit" value="Cadatrar">
</form>
</body>
</html>