最近需要使用swagger实现自动生成接口文档的功能。
首先就是疯狂百度呀,结果搞了一天没出来,遇到各种坑。
废话以后再说,先说我做出来的成果。
1、配置
项目采用java注解的方式配置,无xml文件。
首先看我的另一个博客:配置web框架spring+SpringMVC
http://blog.youkuaiyun.com/Gyb_csdn/article/details/73771071
接下来都是基于这些配置文件
用到的jar包(gradle配置):
‘com.mangofactory:swagger-springmvc:1.0.2’, //swagger 生成API
‘org.ajar:swagger-spring-mvc-ui:0.4’
2、找到WebConfig这个类,在类上加个@EnableSwagger注解,
@ComponentScan里是springmvc扫描的controller层,正好也是文档扫描的层
整个文件如下:
package com;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
import com.mangofactory.swagger.configuration.SpringSwaggerConfig;
import com.mangofactory.swagger.models.dto.ApiInfo;
import com.mangofactory.swagger.paths.SwaggerPathProvider;
import com.mangofactory.swagger.plugin.EnableSwagger;
import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin;
@Configuration
@EnableWebMvc //启用Spring MVC组件
@ComponentScan("com.sys.ctrl") //启用组件扫描
@EnableSwagger
public class WebConfig extends WebMvcConfigurerAdapter{
//配置JSP视图解析器
@Bean
public ViewResolver viewResolver(){
InternalResourceViewResolver resolver = new InternalResourceViewResolver();
resolver.setPrefix("/JSP/");
resolver.setSuffix(".jsp");
//可以在JSP页面中通过${}访问beans
resolver.setExposeContextBeansAsAttributes(true);
return resolver;
}
//配置静态资源的处理
@Override
public void