Preciso de ajuda com o seguinte erro
03/01/2018 18:21
0
Bom para ser mais específico com a msg de erro, segue o erro:

This application has no explicit mapping for /error, so you are seeing this as a fallback.
Wed Jan 03 17:36:04 BRST 2018
There was an unexpected error (type=Internal Server Error, status=500).
Exception evaluating SpringEL expression: "(#mvc.url('EC#detalhesEvento').arg(0, evento.codigo)).build()" (index:32)

Bom, acontece que eu sou iniciante com o Spring Boot e possuo uma Interface que extends CrudRepository<Evento, String> para agilizar o processo de CRUD, segue toda a Interface:
 
?package local.demo.repository;
import org.springframework.data.repository.CrudRepository;
import local.demo.models.Evento;
public interface EventoRepository extends CrudRepository<Evento, String> {
Evento findByCodigo(long codigo);
}

Acho que até aí tudo bem, seguindo tenho minha Controller contendo o método para buscar o tal evento:

@RequestMapping("/{codigo}")
public ModelAndView detalhesEvento(@PathVariable("codigo") long codigo) {
Evento evento = er.findByCodigo(codigo);
ModelAndView mav = new ModelAndView("detalhesEvento");
mav.addObject("evento", evento);
//System.out.println("evento" + evento);
return mav;
}?

E meu html:

<table class="container">
<thead>
<tr>  
<th>Nome</th>
<th>Local</th>
<th>Data</th>
<th>Horario</th>
</tr>
</thead>
<tbody>
<tr th:each="evento : ${eventos}">
<td><a th:href="${(#mvc.url('EC#detalhesEvento').arg(0, evento.codigo)).build()}"><span th:text="${evento.nome}"></span></a></td>
<td><span th:text="${evento.local}"></span></td>
<td><span th:text="${evento.data}"></span></td>
<td><span th:text="${evento.horario}"></span></td>
</tr>
</tbody>

</table>?

... acontece que ao fazer isso e seguindo a risca o curso que estou fazendo aparece esse erro ai de cima... Se alguem poder me ajudar?
Tags: java


1
Quanto ao conteúdo do HTML não vou comentar, mas recomendo fazer a seguinte melhoria em seu controller:

@RequestMapping(value = "/{codigo}", method = RequestMethod.GET, produces = {MediaType.APPLICATION_JSON_VALUE, MediaType.APPLICATION_XML_VALUE})
public ResponseEntity<Evento> detalhesEvento(@PathVariable Long codigo) {
?Evento evento = er.findByCodigo(codigo);
return ResponseEntity.status(HttpStatus.OK).body(evento);
}

OBS: Recomendo fazer uma camada de SERVICE onde vc pode colocar toda a lógica de negócio e tirar essa responsabilidade do controller


1
Favor remover o "?" antecede a entidade "Evento"



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails, Spring e mais com a Formação itexto!

Livro de Spring


/dev/All

Os melhores blogs de TI
em um único lugar!

 
Spring Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.