SpringBoot Rest Service Обработка исключений для файла Скачать - PullRequest
0 голосов
/ 06 ноября 2018

В настоящее время я создаю RESTful SpringBoot Service, и его функциональность загружается из файла.

Пожалуйста, дайте мне знать, если есть способ обработать исключения и уведомить клиента, например: FileNotFound или IOExceptions.

Обычные ExceptionMappers не работали. Пример кода:

@GET
@RequestMapping("/fileDownload")
public FileSystemResource fileDownload(HttpServletResponse response) {
response.setContentType("application/octet-stream)
response.setHeader("Content-Disposition","attachment;filename=downloadZip");
enter code here
return new FileSystemResource(file);

1 Ответ

0 голосов
/ 06 ноября 2018

Вы можете использовать @RestControllerAdvice, который является глобальным обработчиком исключений для весны. Это должен быть отдельный класс с определением списка исключений и способа их обработки с помощью аннотации @ExceptionHandler Также вы можете установить пакет, который будет проверяться на наличие контроллеров. @ControllerAdvice (basePackages = «your.controller.package») Если вы не определили basePackages, тогда все @Controller в classpath будет сканироваться Если вы хотите обработать исключение в вашем классе @Controller или @RestController, вы можете определить @ExceptionHandler для метода, и он тоже будет работать, но исключение будет обрабатываться только в одном контроллере, например, если вы определите @ExceptionHandler в одном контроллере, он будет справиться . Но если у вас будет такое же исключение в другом контроллере, он не справится с этим. Поэтому, если у вас есть такой случай, вам лучше использовать @ControllerAdvice или @RestControllerAdvice, он будет обрабатывать исключения глобально.

...