¿Cómo manejar la excepción de tamaño máximo de archivo en Spring Boot?

Estoy usando Spring Boot v1.2.5 para crear una aplicación REST. Al cargar imágenes, tengo una comprobación del tamaño máximo de archivo, que se proporciona la propiedad:

multipart.maxFileSize= 128KB

en application.properties. Esta instalación es proporcionada por Spring Boot. Ahora el cheque funciona correctamente. La pregunta es, ¿cómo manejo la excepción y devuelvo un mensaje al usuario que puede entender?

Actualización 1 ----------

Escribí un método dentro de mi controlador, donde pretendo manejar la excepción MultipartException, usando@ExceptionHandler. No parece funcionar.

Este es mi código:

@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;
}

Actualización 2 ----------

Después de que @luboskrnac lo señalara, logré encontrar una solución. Nosotros podemos usarResponseEntityExceptionHandler aquí para manejar este caso particular. Creo que también podríamos haber usadoDefaultHandlerExceptionResolver, peroResponseEntityExceptionHandler nos permitirá devolver unResponseEntity, a diferencia del primero, cuyos métodos volveránModelAndView. yono tengo aunque lo intenté.

Este es el código final que estoy usando para manejar elMultipartException :

@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;
}
}

Estoy usando Swagger para desarrollar / documentar REST Apis. Esta es la respuesta al cargar un archivo que excede el tamaño.Gracias.

Respuestas a la pregunta(1)

Su respuesta a la pregunta