Я хотел бы открыть pdf-файл на новой вкладке, чтобы мой контроллер Spring был таким (я не знаю, почему, но я должен добавить .pdf, даже мой url param имеет расширение .pdf):Контроллер весны возвращает PDF inline с плохим заголовком
@PreAuthorize("hasAnyRole('ROLE_ADMIN','ROLE_FLEET_ENG', 'ROLE_VIEW_ENG')")
@Override
@RequestMapping(value = { "applications/cars/acquisitions/pdf/{idAcquisition}/{pdfName}"},produces = "application/pdf", method = RequestMethod.GET)
public @ResponseBody ResponseEntity<byte[]> showPdf(@PathVariable("idAcquisition") int idAcquisition, @PathVariable("pdfName") String pdfName){
try {
byte[] pdfContents = fleetAndCarService.showPdf(idAcquisition, pdfName + ".pdf");
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/pdf"));
headers.add("content-disposition", "inline; filename=" + pdfName +".pdf");
ResponseEntity<byte[]> response = new ResponseEntity<byte[]>(
pdfContents, headers, HttpStatus.OK);
return response;
}
catch (Exception e) {
ErrorResponse errorResponse= ErrorResponseBuilder.buildErrorResponse(e);
LOG.error("Threw exception in FleetAndCarControllerImpl::showPdf :" + errorResponse.getStacktrace());
//TODO what do I have to return?
return null;
}
}
но я получаю 406 ошибку: The resource identified by this request is only capable of generating responses with characteristics not acceptable according to the request "accept" headers.
Как я должен настроить свой заголовок Благодаря
Вы действительно проверили, что такое 406 и что говорит вам ошибка? Это говорит вам, что вы запрашиваете что-то, но не PDF. В вашем сопоставлении вы явно указываете, что он возвращает 'application/pdf', но ваш браузер, вероятно, имеет« text/html »и некоторые другие заголовки. это не соответствует ошибке. Добавленный '.pdf' к URL-адресу исправляет это, поскольку это вызывает правильное преобразование, а также заголовок. –
Да, он не устанавливает формат pdf в качестве принятого формата. Мой URL правильный: http: // localhost: 8086/DART/fleetAndCar/applications/cars/acquisitions/pdf/179/13_Test2.pdf – luca