diff --git a/src/main/java/ru/nbch/credit_tracker/config/rest/GlobalExceptionHandler.java b/src/main/java/ru/nbch/credit_tracker/config/rest/GlobalExceptionHandler.java index 234e7f0..d082987 100644 --- a/src/main/java/ru/nbch/credit_tracker/config/rest/GlobalExceptionHandler.java +++ b/src/main/java/ru/nbch/credit_tracker/config/rest/GlobalExceptionHandler.java @@ -6,7 +6,9 @@ import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; +import org.springframework.web.multipart.MaxUploadSizeExceededException; import ru.nbch.credit_tracker.entities.response.errors.*; +import ru.nbch.credit_tracker.enums.SignalError; import ru.nbch.credit_tracker.exceptions.SignalClientException; import ru.nbch.credit_tracker.exceptions.SignalException; import ru.nbch.credit_tracker.utils.error.SimpleMessageResolver; @@ -18,6 +20,19 @@ public class GlobalExceptionHandler { private final SimpleMessageResolver messageResolver = new SimpleMessageResolver(); + @ExceptionHandler(value = MaxUploadSizeExceededException.class, produces = MediaType.APPLICATION_XML_VALUE) + public ResponseEntity handleMaxUploadSizeExceeded(MaxUploadSizeExceededException ex) { + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(new MediaType("application", "xml", Charset.forName("windows-1251"))); + + MonitoringError error = new MonitoringError(); + error.setStatus("error"); + error.setErrorCode(SignalError.ERROR_009.getCode()); + error.setErrorText(SignalError.ERROR_009.getKey()); + + return new ResponseEntity<>(error, headers, HttpStatus.BAD_REQUEST); + } + @ExceptionHandler(value = SignalException.class, produces = MediaType.APPLICATION_XML_VALUE) public ResponseEntity handleClientException(SignalException ex) { HttpHeaders headers = new HttpHeaders();