Estou tentando fazer o download de um arquivo que ja existe, porem mostra o seguinte erro:
org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class java.lang.Boolean] with preset Content-Type 'text/csv'
Esta é a classe que utilizo.
@GetMapping(value = { "/gerarCsv/{inicio}&{fim}" })
@ResponseBody
public ResponseEntity<?> gerarCsv(HttpServletRequest request, HttpServletResponse response,
@PathVariable(value = "inicio", required = true) String inicio,
@PathVariable(value = "fim", required = true) String fim) {
try {
Date dataInicio = new SimpleDateFormat("dd-MM-yyyy").parse(inicio);
Date dataFim = new SimpleDateFormat("dd-MM-yyyy").parse(fim);
List<RevogacaoConsolidado> revogacaoConsolidado = revogacao.consultarRevogacaoconsolidado(dataInicio, dataFim);
// String home = System.getProperty("user.home");
File arquivo = new File(context.getRealPath("WEB-INF/classes/statics/downloads/Revogacao.csv"));
Path file = Paths.get(context.getRealPath("WEB-INF/classes/statics/downloads/"), "Revogacao.csv");
logger.info("[Recurso:/admin/revogacao/revogacaoPorDataCSV, sessao:" + request.getSession().getId() + ", usuario:"
+ request.getUserPrincipal().getName() + "]"
+ "[Caminho ]" + arquivo);
//Create file if not exists.
if(!arquivo.exists()) {
arquivo.createNewFile();
}
/*
* Write the file in the desired path
* objeto arquivo
*/
FileWriter fw = new FileWriter(arquivo);
BufferedWriter bw = new BufferedWriter(fw);
bw.write("Data" + ";" + "Login" + ";" + "Nome" + ";" + "Sucesso" + ";" + "Erro" + ";" + "Não Cadastrado"
+ ";" + "Já removido" + ";" + "Total" + ";" + "Porcentagem de Erro %");
for(RevogacaoConsolidado revog : revogacaoConsolidado) {
bw.newLine();
bw.write(revog.getData_processo() + ";" + revog.getLogin() + ";" + revog.getNome() + ";"
+ revog.getSucesso() + ";" + revog.getErro() + ";" + revog.getNao_cadastrado() + ";"
+ revog.getJa_removido() + ";" + revog.getTotal() + ";" + revog.getPorcentagem_erro());
}
bw.close();
fw.close();
/*
* download the content
*/
if(Files.exists(file)) {
response.setContentType("text/csv");
response.addHeader("Content-Disposition", "attachment; filename="+"Revogacao.csv");
try{
Files.copy(file, response.getOutputStream());
response.getOutputStream().flush();
}
catch (IOException ex) {
ex.printStackTrace();
}
}
Acredito que o o erro esteja dentro do setContentType. porem não sei como resolve-lo.