Finalizei a segunda aula do módulo de Spring MVC II e estou tentando testar um serviço Rest. Criei uma JSP qualquer para fazer a chamada:
<a href="/casadocodigo/teste/detalhe/5"><button>Testar JSON - Produto 5</button></a>
No controller, recebo a rquisição e encaminho para o serviço rest com o id do produto. O retorno do rest, que é um produto, encaminho para a view de detalhamento do produto. No entanto, o rest me retorna um objeto vazio.
@RequestMapping("/teste/detalhe/{id}")
public Callable<ModelAndView> detalheTeste(@PathVariable("id") Integer id) {
return () -> {
String uri = "http://localhost:8080/casadocodigo/produtos/detalhe/"+id+".json";
Produto response = restTemplate.postForObject(uri, new Produto(id), Produto.class);
ModelAndView modelAndView = new ModelAndView("produtos/detalhe");
modelAndView.addObject("produto", response);
return modelAndView;
};
}
Estou encaminhando para um rest que é da própria aplicação. No método abaixo, o id chega correto e o objeto é recuperado corretamente.
@RequestMapping("/detalhe/{id}")
public ModelAndView detalhe(@PathVariable("id") Integer id) {
ModelAndView modelAndView = new ModelAndView("produtos/detalhe");
Produto produto = produtoDao.find(id);
modelAndView.addObject("produto", produto);
return modelAndView;
}
O response é um objeto vazio. Se eu testar a URI http://localhost:8080/casadocodigo/produtos/detalhe/5.json em um cliente Rest, o retorno é um JSON.
Alguém poderia me ajudar?