Forráskód Böngészése

配置文件更新

ms-dev 6 éve
szülő
commit
c0972c6c38

+ 5 - 2
src/main/java/net/mingsoft/MSApplication.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);
 	}

+ 56 - 0
src/main/java/net/mingsoft/config/SwaggerConfig.java

@@ -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();
+	}
+
+}

+ 43 - 19
src/main/java/net/mingsoft/config/WebConfig.java

@@ -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注册