2
respostas

Há alguma outra forma de receber parâmetros?

no metodo salvar estamos usando o @RequestParam, tem alguma outra forma de receber dados por parâmetros (obs: usando o ID ou o NAME do elemento)

    @RequestMapping(value="salvar",method = RequestMethod.POST)
    public String salvar(@RequestParam("nome") String nome,@RequestParam("email") String email,@RequestParam("telefone") String telefone, Model model){
        Convidado novoConvidado = new Convidado(nome, email, telefone);
        repository.save(novoConvidado);

        Iterable<Convidado> convidados = repository.findAll();
        model.addAttribute("convidados", convidados);

        return "listaconvidados";
    }
2 respostas

Fala aí Rafael, blz?

Usando o id não rola, pois o id é só da página e não é enviado na request. Com o @RequestParam você já está pegando os dados dos inputs baseado no atributo name de cada input.

Outra forma de fazer isso (e a mais comum), é você receber o Objeto pronto. Porém para isso você precisa que seu objeto tenha um construtor padrão (sem argumentos).

Dessa forma seu método ficaria assim.

@RequestMapping(value="salvar",method = RequestMethod.POST)
    public String salvar(Convidado novoConvidado Model model){

        repository.save(novoConvidado);

        Iterable<Convidado> convidados = repository.findAll();
        model.addAttribute("convidados", convidados);

        return "listaconvidados";
    }

Para funcionar dessa forma devemos fazer alguma marcação no listaconvidados.html?