|
|
@@ -1,6 +1,10 @@
|
|
|
package cn.tr.plugin.web;
|
|
|
|
|
|
+import cn.hutool.extra.spring.SpringUtil;
|
|
|
import cn.tr.core.enums.WebFilterOrderEnum;
|
|
|
+import cn.tr.core.exception.TRExcCode;
|
|
|
+import cn.tr.core.pojo.CommonResult;
|
|
|
+import cn.tr.core.strategy.ExceptionStrategy;
|
|
|
import cn.tr.plugin.web.config.PageStrategyConfig;
|
|
|
import cn.tr.plugin.web.config.TrWebMvcConfig;
|
|
|
import cn.tr.plugin.web.config.jackson.mapper.core.ObjectMapperConfig;
|
|
|
@@ -10,10 +14,14 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import org.springframework.beans.factory.config.BeanPostProcessor;
|
|
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
|
|
import org.springframework.boot.autoconfigure.jackson.JacksonProperties;
|
|
|
+import org.springframework.boot.autoconfigure.web.servlet.MultipartProperties;
|
|
|
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
|
import org.springframework.context.annotation.Bean;
|
|
|
+import org.springframework.web.multipart.MaxUploadSizeExceededException;
|
|
|
import org.springframework.web.servlet.HandlerInterceptor;
|
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
|
+
|
|
|
+import javax.annotation.PostConstruct;
|
|
|
import java.util.*;
|
|
|
/**
|
|
|
* @ClassName : WebConfig
|
|
|
@@ -23,6 +31,15 @@ import java.util.*;
|
|
|
*/
|
|
|
public class TrWebAutoConfiguration implements BeanPostProcessor {
|
|
|
|
|
|
+ @PostConstruct
|
|
|
+ public void init(){
|
|
|
+ MultipartProperties multipartProperties = SpringUtil.getBean(MultipartProperties.class);
|
|
|
+ //处理业务异常 ServiceException
|
|
|
+ ExceptionStrategy.tr.registerThrowableHandler(MaxUploadSizeExceededException.class,((request, ex) ->{
|
|
|
+ return CommonResult.error(TRExcCode.USER_ERROR_A0702, "用户上传文件大小不能超过"+multipartProperties.getMaxFileSize().toMegabytes()+"M");
|
|
|
+ } ));
|
|
|
+ }
|
|
|
+
|
|
|
@Bean
|
|
|
@ConditionalOnMissingBean(ObjectMapper.class)
|
|
|
public ObjectMapper objectMapper(){
|