Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化的restful风格的web服务。主要功能是接口文档在线生成、接口测试。
在日常项目开发中,使用swagger非常方便,在最近的项目中,也是加入了swagger,十分方便开发。
1、首先需要一个完整的springboot的简单的项目,这里就不在赘述。然后是添加swagger的相应jar包。
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
2、配置swagger配置类
@Configuration
@ConditionalOnClass(Docket.class)
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket buildDocket() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())//调用下面apiInfo()方法
.select()
//Controller所在路径
.apis(RequestHandlerSelectors.basePackage("com.mp.web.controller"))
.paths(PathSelectors.any())
.build();
}
public ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("springboot结合swagger2构建Restful API")
.description("springboot集成swagger的简单demo")
.termsOfServiceUrl("www.baidu.com")
.contact("studymp")
.version("0.0.1")
.build();
}
}
注意,这个地方的路径一定不要写错,不然接口检测不到
3、写测试接口,生成swagger的接口文档
这里只展示主要的部分,
@Api 该注解主要使用的类上
@ApiOperation 主要使用在方法上
还有一些注解以及详细说明可自行百度查询,值得注意的是@ApiOperation 中httpMethod属性,如果在该注解中这个不填写,会造成在生成的接口文档中出现以下情况,可以看到,这些接口其实都是一个,只不过没有指定请求接口的方式,swagger把所有的都列出来了:
写的不好,欢迎拍砖。