配置文件更新

master
ms-dev 7 years ago
parent 1bb0e45602
commit c0972c6c38
  1. 7
      src/main/java/net/mingsoft/MSApplication.java
  2. 56
      src/main/java/net/mingsoft/config/SwaggerConfig.java
  3. 62
      src/main/java/net/mingsoft/config/WebConfig.java

@ -6,12 +6,15 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;
import org.springframework.context.annotation.ComponentScan;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@ComponentScan(basePackages = {"net.mingsoft"})
@ComponentScan(basePackages = {"springfox","net.mingsoft"})
@MapperScan(basePackages={"**.dao"})
@ServletComponentScan(basePackages = {"net.mingsoft"})
@EnableSwagger2
public class MSApplication {
public static void main(String[] args) {
SpringApplication.run(MSApplication.class, args);
}

@ -0,0 +1,56 @@
/**
* Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng)
* <p>
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* <p>
* http://www.apache.org/licenses/LICENSE-2.0
* <p>
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package net.mingsoft.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* swagger配置类
*
* @author fengshuonan
* @date 2017年6月1日19:42:59
*/
@Configuration
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select()
// 自行修改为自己的包路径
.apis(RequestHandlerSelectors.basePackage("net.mingsoft.*.action.web")).paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder().title("api文档").description("restful 风格接口")
// 服务条款网址
// .termsOfServiceUrl("")
.version("1.0")
// .contact(new Contact("hello", "url", "email"))
.build();
}
}

@ -1,7 +1,5 @@
package net.mingsoft.config;
import java.util.Arrays;
import org.springframework.aop.Advisor;
import org.springframework.aop.support.DefaultPointcutAdvisor;
import org.springframework.aop.support.JdkRegexpMethodPointcut;
@ -11,8 +9,9 @@ import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.context.request.RequestContextListener;
import org.springframework.web.servlet.config.annotation.InterceptorRegistration;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.PathMatchConfigurer;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
@ -21,30 +20,54 @@ import com.alibaba.druid.support.http.StatViewServlet;
import com.alibaba.druid.support.http.WebStatFilter;
import com.alibaba.druid.support.spring.stat.BeanTypeAutoProxyCreator;
import com.alibaba.druid.support.spring.stat.DruidStatInterceptor;
import net.mingsoft.basic.interceptor.ActionInterceptor;
import cn.hutool.core.collection.CollectionUtil;
import net.mingsoft.basic.interceptor.ActionInterceptor;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
public class WebConfig implements WebMvcConfigurer {
@Bean
public ActionInterceptor actionInterceptor() {
return new ActionInterceptor();
}
@Override
public void configurePathMatch(PathMatchConfigurer configurer) {
//启用.do后缀
configurer.setUseRegisteredSuffixPatternMatch(true);
}
/**
* 增加对rest api鉴权的spring mvc拦截器
*/
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 排除配置
registry.addInterceptor(actionInterceptor()).excludePathPatterns(CollectionUtil.newLinkedList("/static/**"));
registry.addInterceptor(actionInterceptor()).excludePathPatterns("/static/**","/app/**","/webjars/**","/*.html","/*.htm");
}
@Bean
public ServletRegistrationBean servletRegistrationBean(DispatcherServlet dispatcherServlet) {
//只拦截.do的请求
ServletRegistrationBean<DispatcherServlet> servletServletRegistrationBean = new ServletRegistrationBean<>(dispatcherServlet);
servletServletRegistrationBean.addUrlMappings("*.do","/v2/api-docs","/swagger-resources","/swagger-resources/configuration/security","/swagger-resources/configuration/ui");
return servletServletRegistrationBean;
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
// swagger
registry.addResourceHandler("swagger-ui.html").addResourceLocations("classpath:/META-INF/resources/");
registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
registry.addResourceHandler("/html/**").addResourceLocations("classpath:/html/");
registry.addResourceHandler("/app/**").addResourceLocations("classpath:/app/");
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
/**
@ -84,7 +107,7 @@ public class WebConfig implements WebMvcConfigurer {
@Bean
public JdkRegexpMethodPointcut druidStatPointcut() {
JdkRegexpMethodPointcut druidStatPointcut = new JdkRegexpMethodPointcut();
String patterns = "cn.stylefeng.guns.modular.*.service.*";
String patterns = "net.mingsoft.*.biz.*";
// 可以set多个
druidStatPointcut.setPatterns(patterns);
return druidStatPointcut;
@ -111,17 +134,18 @@ public class WebConfig implements WebMvcConfigurer {
return new DefaultPointcutAdvisor(druidStatPointcut(), druidStatInterceptor());
}
// /**
// * xssFilter注册
// */
// @Bean
// public FilterRegistrationBean xssFilterRegistration() {
// XssFilter xssFilter = new XssFilter();
// xssFilter.setUrlExclusion(Arrays.asList("/static/"));
// FilterRegistrationBean registration = new FilterRegistrationBean(xssFilter);
// registration.addUrlPatterns("/*");
// return registration;
// }
// /**
// * xssFilter注册
// */
// @Bean
// public FilterRegistrationBean xssFilterRegistration() {
// XssFilter xssFilter = new XssFilter();
// xssFilter.setUrlExclusion(Arrays.asList("/static/"));
// FilterRegistrationBean registration = new
// FilterRegistrationBean(xssFilter);
// registration.addUrlPatterns("/*");
// return registration;
// }
/**
* RequestContextListener注册

Loading…
Cancel
Save