Как обработать исключение максимального размера файла в Spring Boot?

Я использую Spring Boot v1.2.5 для создания приложения REST. При загрузке изображений у меня есть проверка на максимальный размер файла, который предоставляется свойством:

multipart.maxFileSize= 128KB

в приложении. свойства. Эта возможность предоставляется самой Spring Boot. Теперь проверка работает правильно. Вопрос в том, как мне обработать исключение и вернуть пользователю сообщение, которое он может понять?

Обновление 1 ----------

Я написал метод в моем контроллере, где я намерен обрабатывать MultipartException, используя@ExceptionHandler, Это не похоже на работу.

Это мой код:

@ExceptionHandler(MultipartException.class)
@ResponseStatus(value = HttpStatus.PAYLOAD_TOO_LARGE)
public ApplicationErrorDto handleMultipartException(MultipartException exception){
    ApplicationErrorDto applicationErrorDto =  new ApplicationErrorDto();
    applicationErrorDto.setMessage("File size exceeded");
    LOGGER.error("File size exceeded",exception);
    return applicationErrorDto;
}

Обновление 2 ----------

После того, как @luboskrnac указал на это, мне удалось найти решение. Мы можем использоватьResponseEntityExceptionHandler здесь, чтобы справиться с этим конкретным случаем. Я полагаю, мы могли бы также использоватьDefaultHandlerExceptionResolver, ноResponseEntityExceptionHandler позволит нам вернутьResponseEntityв отличие от первого, методы которого вернутсяModelAndView, янет попробовал все же.

Это последний код, который я использую для обработкиMultipartException :

@ControllerAdvice
public class CustomResponseEntityExceptionHandler extends ResponseEntityExceptionHandler {

private static final Logger LOGGER = Logger.getLogger(CustomResponseEntityExceptionHandler.class);

@ExceptionHandler(MultipartException.class)
@ResponseStatus(value = HttpStatus.PAYLOAD_TOO_LARGE)
@ResponseBody
public ApplicationErrorDto handleMultipartException(MultipartException exception){
    ApplicationErrorDto applicationErrorDto =  new ApplicationErrorDto();
    applicationErrorDto.setMessage("File size exceeded");
    LOGGER.error("File size exceeded",exception);
    return applicationErrorDto;
}
}

Я использую Swagger для разработки / документирования REST Apis. Это ответ при загрузке файла, который превышает размер.Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос