Wie handhaben die maximale Dateigröße Ausnahme in den Frühling Starten?

Bin ich mit Spring-Boot-v1.2.5 für die Erstellung einer REST-Anwendung. Beim hochladen von Bildern, ich habe einen Scheck für die maximale Dateigröße , die der Eigenschaft :

multipart.maxFileSize= 128KB

in der Anwendung.Eigenschaften. Diese Einrichtung ist von Spring Boot selbst. Jetzt den Scheck ordnungsgemäß funktioniert. Die Frage ist, wie kann ich die Ausnahme behandeln und wieder eine Nachricht an den Benutzer, dass er Sie verstehen kann ?

Update 1----------

Schrieb ich eine Methode in meinem Controller, wo ich beabsichtige, Griff die MultipartException, mit @ExceptionHandler. Es scheint nicht zu funktionieren.

Dies ist mein code :

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

Update 2----------

Nachdem @luboskrnac darauf hingewiesen, ich habe es geschafft, zu einer Lösung zu kommen. Wir können ResponseEntityExceptionHandler mit diesem speziellen Fall. Ich glaube, wir könnten auch verwendet werden DefaultHandlerExceptionResolver, aber ResponseEntityExceptionHandler wird es uns ermöglichen, um wieder eine ResponseEntity, im Gegensatz zu den ehemaligen, die Methoden, von denen zurück ModelAndView. Ich nicht versuchte es trotzdem.

Dies ist der Letzte code, den ich verwende, um zu behandeln, die 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;
}
}

Ich bin mit Swagger für die Entwicklung/Dokumentation von REST-Apis. Dies ist die Antwort auf das hochladen einer Datei, die über die Größe.
Wie handhaben die maximale Dateigröße Ausnahme in den Frühling Starten?
Danke.

InformationsquelleAutor de_xtr | 2015-09-30
Schreibe einen Kommentar