Quando executo a url para poder ver o json no navegador, a unica coisa que aparece é [].
RelatoriosProdutosController
package br.com.casadocodigo.loja.controllers;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import javax.persistence.NoResultException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import br.com.casadocodigo.loja.dao.ProdutoDAO;
import br.com.casadocodigo.loja.models.Produto;
@Controller
public class RelatoriosProdutosController {
@Autowired
private ProdutoDAO produtoDao;
@RequestMapping(value = "/relatorio-produtos", method=RequestMethod.GET,produces = "application/json")
@ResponseBody
public List<Produto> detalheJson(@RequestParam(value = "dataLancamento", required = false) String dataLancamento) throws ParseException{
if(dataLancamento != null) {
SimpleDateFormat formatadorDeData = new SimpleDateFormat("yyyy-MM-dd");
Date dataFormatada = formatadorDeData.parse(dataLancamento);
Calendar data = Calendar.getInstance();
data.setTime(dataFormatada);
return produtoDao.findData(dataLancamento);
}
return produtoDao.findData(dataLancamento);
}
//tratamente de exceção especifica nesse controlador
@ExceptionHandler(NoResultException.class)public String trataDetalheNaoEcontrado(){
return "error";
}
}
ProdutoDAO
public List<Produto> findData(String dataLancamento) {
TypedQuery<Produto> query = manager.createQuery("select distinct(p) from Produto p join fetch p.precos precos where p.dataLancamento = :dataLancamento",Produto.class)
.setParameter("dataLancamento",dataLancamento);
return query.getResultList(); }