diff --git a/src/main/java/net/mingsoft/MSApplication.java b/src/main/java/net/mingsoft/MSApplication.java index 3641f226..5f0aa874 100644 --- a/src/main/java/net/mingsoft/MSApplication.java +++ b/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); } diff --git a/src/main/java/net/mingsoft/config/SwaggerConfig.java b/src/main/java/net/mingsoft/config/SwaggerConfig.java new file mode 100644 index 00000000..0aff4e7f --- /dev/null +++ b/src/main/java/net/mingsoft/config/SwaggerConfig.java @@ -0,0 +1,56 @@ +/** + * Copyright 2018-2020 stylefeng & fengshuonan (https://gitee.com/stylefeng) + *
+ * 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 + *
+ * http://www.apache.org/licenses/LICENSE-2.0 + *
+ * 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();
+ }
+
+}
diff --git a/src/main/java/net/mingsoft/config/WebConfig.java b/src/main/java/net/mingsoft/config/WebConfig.java
index eaf3dfd6..07eaa615 100644
--- a/src/main/java/net/mingsoft/config/WebConfig.java
+++ b/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