Rest 请求被拒绝,因为其大小(5838334)超过了配置的最大值(2097152)

Rest 请求被拒绝,因为其大小(5838334)超过了配置的最大值(2097152),rest,spring-boot,Rest,Spring Boot,我想处理org.apache.commons.fileupload.FileUploadBase.sizelimiteExceedeException My application.properties文件包含: spring.http.multipart.max-file-size=2MB spring.http.multipart.max-request-size=2MB spring.mvc.throw-exception-if-no-handler-found=true 我已尝试使用以

我想处理org.apache.commons.fileupload.FileUploadBase.sizelimiteExceedeException

My application.properties文件包含:

spring.http.multipart.max-file-size=2MB
spring.http.multipart.max-request-size=2MB
spring.mvc.throw-exception-if-no-handler-found=true
我已尝试使用以下代码处理异常:

@ControllerAdvice
public class ExceptionHandlerRestController
{
    @ExceptionHandler(FileUploadBase.SizeLimitExceededException.class)
     public ResponseEntity<Object>exceptionHandler(FileUploadBase.SizeLimitExceededException e) {
        return new ResponseEntity<Object>("size limit exceeded",new HttpHeaders(), HttpStatus.NOT_ACCEPTABLE);
  }
}

如何自定义上述类以处理异常?

尝试更新容器配置,如果使用tomcat,请使用以下配置更新
server.xml
文件


将maxPostSize设置为52428800,将上载文件大小增加到50 MB。默认设置为2MB


要了解更多解释,请阅读以下内容:

使用以下代码解决了问题

@ExceptionHandler(MultipartException.class)
@应答器
@响应状态(HttpStatus.PAYLOAD\u过大)
公共APIRROR multipartExceptionHandler(MultipartException e)
{
可丢弃的th=e.getCause();
if(IllegalStateException的第个实例)
{
可丢弃原因=th.getCause();
if(导致SizeLimiteExceedeException实例)
{
SizeLimitExceedeException ex=(SizeLimitExceedeException)原因;
返回新的APIRROR(HttpStatus.PAYLOAD_TOO_LARGE.value(),“文件的总大小不应超过”+(int)(例如getPermittedSize()/Math.pow(2,20))+“MB”);
}
}
返回新的APIRROR(HttpStatus.PAYLOAD_TOO_LARGE.value(),e.getMessage());
}

上传文件大小限制不是我关心的问题。我想处理超过规定限制的情况。我有一个类似的问题。请求被拒绝。我的拦截器正在记录它并返回一个定义良好的结果,这将导致一个错误jsp(如struts.xml中所定义的),但我得到的是“未找到页面”。我想这是因为那个被拒绝的请求。但我如何让它保持活力,跟随我的struts导航,而不是成为404。
Servlet.service() for servlet [dispatcherServlet] in context with path [] 
threw exception [Request processing failed; nested exception is 
org.springframework.web.multipart.MultipartException: Could not parse 
multipart servlet request; org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (5838334) exceeds the configured maximum (2097152)