|
@ -24,6 +24,7 @@ Guns采用APACHE LICENSE 2.0开源协议,您在使用过程中,需要注意
|
|
*/
|
|
*/
|
|
package cn.stylefeng.guns.sys.config;
|
|
package cn.stylefeng.guns.sys.config;
|
|
|
|
|
|
|
|
import cn.stylefeng.guns.core.web.GunsRequestResponseBodyMethodProcessor;
|
|
import cn.stylefeng.guns.sys.core.error.GunsErrorAttributes;
|
|
import cn.stylefeng.guns.sys.core.error.GunsErrorAttributes;
|
|
import cn.stylefeng.guns.sys.core.filter.RequestNoFilter;
|
|
import cn.stylefeng.guns.sys.core.filter.RequestNoFilter;
|
|
import cn.stylefeng.guns.sys.core.filter.xss.XssFilter;
|
|
import cn.stylefeng.guns.sys.core.filter.xss.XssFilter;
|
|
@ -34,8 +35,16 @@ import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.context.annotation.Import;
|
|
import org.springframework.context.annotation.Import;
|
|
|
|
import org.springframework.web.method.support.HandlerMethodArgumentResolver;
|
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
|
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
|
|
|
|
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
|
|
|
|
|
|
|
|
import javax.annotation.PostConstruct;
|
|
|
|
import javax.annotation.Resource;
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.List;
|
|
|
|
import java.util.Objects;
|
|
|
|
|
|
/**
|
|
/**
|
|
* web配置
|
|
* web配置
|
|
@ -122,4 +131,26 @@ public class WebMvcConfig implements WebMvcConfigurer {
|
|
return new GunsValidator();
|
|
return new GunsValidator();
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
* 自定义的GunsRequestResponseBodyMethodProcessor,放在所有resolvers之前
|
|
|
|
*
|
|
|
|
* @author fengshuonan
|
|
|
|
* @date 2020/8/21 21:09
|
|
|
|
*/
|
|
|
|
@Configuration
|
|
|
|
public static class MethodArgumentResolver {
|
|
|
|
|
|
|
|
@Resource
|
|
|
|
private RequestMappingHandlerAdapter adapter;
|
|
|
|
|
|
|
|
@PostConstruct
|
|
|
|
public void injectSelfMethodArgumentResolver() {
|
|
|
|
List<HandlerMethodArgumentResolver> argumentResolvers = new ArrayList<>();
|
|
|
|
argumentResolvers.add(new GunsRequestResponseBodyMethodProcessor(adapter.getMessageConverters()));
|
|
|
|
argumentResolvers.addAll(Objects.requireNonNull(adapter.getArgumentResolvers()));
|
|
|
|
adapter.setArgumentResolvers(argumentResolvers);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|
|
}
|