我这里新建一个新的springboot项目来集成swagger2。项目结构如下:
首先在pom.xml文件下导入swagger2的依赖,复制粘贴上去保存就会自动下载对应的依赖库文件
<!--导入swagger2依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.1</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.1</version>
</dependency>
导入依赖之后,写一个swagger的配置类,在配置类中配置一些基本信息,例如指定某个包下的控制器生成restful文档,版本信息,作者,连接网址等,这里要注意注解的使用
package com.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
/**
* swagger2的配置类
* @author banma
*/
@Configuration //表明这个类是一个配置类
@EnableSwagger2 //开启swagger2
public class Swagger2Config {
@Bean
public Docket createRestfulApi() {
Docket docket = new Docket(DocumentationType.SWAGGER_2);
docket.apiInfo(apiInfo()).select()
.apis(RequestHandlerSelectors.basePackage("com.demo.controller")) //扫描指定的包生成api文档
.paths(PathSelectors.any()).build();
return docket;
}
/**
* 配置一些基本信息
* @return
*/
private ApiInfo apiInfo() {
ApiInfoBuilder apiInfobuilder = new ApiInfoBuilder();
apiInfobuilder.title("spring boot集成swagger2构建restful API文档!")
.description("swagger很容易构建restful风格的api,简单优雅帅气,正如它的名字")
.contact(new Contact("lyly", "http://www.baidu.com", "lyly@alibaba-inc.com"))
.version("1.0.0");
ApiInfo apiInfo = apiInfobuilder.build();
return apiInfo;
}
}
然后就是对应的控制器层的配置,通过对应的注解就简单的将swagger2集成好了,swagger注解有很多,大家可以去官网上看看每个注解的使用,启动springboot访问:http://localhost:8080/swagger-ui.html就可以看到集成后的UI界面了
集成后的UI界面: