Olá, não sei o que tá acontecendo, mas não estou conseguindo receber os dados do meu formulário no meu back para poder salvar meu objeto no banco.
Formulário que recebe o jogo
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Adicionar jogo</title>
</head>
<body>
<h1>Adicionar jogo</h1>
<form method="POST" name="add">
<div>
<p>Nome</p>
<input type="text" name="nome">
</div>
<div>
<p>Descrição</p>
<textarea name="descricao" id="" cols="30" rows="10"></textarea>
</div>
<div>
<p>Gênero</p>
<select name="genero" id="">
<option value="tiro">tiro</option>
<option value="guerra">guerra</option>
</select>
</div>
plataforma: <input type="text" name="plataforma"/>
<div>
<p>Data lançamento</p>
<input type="date" name="dataLancamento">
</div>
<div>
<p>Preço</p>
<input type="text" name="preco">
</div>
<input type="submit" value="salvar">
</form>
</body>
</html>
Método que salva o jogo
@RestController
@RequestMapping(value = "/jogos")
public class JogoController {
@Autowired
private JogoService service;
@GetMapping("/add")
public ModelAndView viewAdd() {
ModelAndView mv = new ModelAndView("add_jogo");
return mv;
}
//quando print o objeto ele vem com os valores null
@PostMapping("/add")
public String add(Jogo obj){
System.out.println(obj.toString());
// obj = service.insert(obj);// salva o objeto
return "redirect:/jogos/home";
}
}
Model Jogo
@Entity
@Table(name="jogos")
@Getter
@Setter
@Data
@AllArgsConstructor
@NoArgsConstructor
public class Jogo implements Serializable{
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String nome;
@Lob
private String descricao;
private String genero;
private String plataforma;
private Date dataLancamento;
private float preco;
public Jogo() {}
@Override
public String toString() {
return "Jogo [id=" + id + ", nome=" + nome + ", descricao=" + descricao + ", genero=" + genero + ", plataforma="
+ plataforma + ", dataLancamento=" + dataLancamento + ", preco=" + preco + "]";
}
}