在多人协作的开发过程中,API文档不仅可以减少等待,也能保证开发的持续进行。有一些单元测试框架可以生成API文档,而Swagger可以在不写单元测试的情况下生成在线的API页面,并且可以直接在页面进行API调试。
- 引入需要的依赖
<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>
- 在启动类也就是XXXApplication类的同级目录下创建Swagger2类,作为配置类
@Configuration
@EnableSwagger2
public class Swagger2 {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("cn.com.wenyi.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Brand Love APIS")
.description("基于指数数据的品牌趋势分析工具")
.version("1.0.3")
.build();
}
}
通过@Configuration
我们标记此类为配置类,会在SpringBoot项目启动的时候加载,@EnableSwagger2
用来启动Swagger。
实际上我们已经完成了对Swagger的配置,Swagger会自动扫描我们配置的cn.com.wenyi.controller
包下的接口自动生成接口文档。
其地址为:http://localhost:8080/swagger-ui.html
3.接下来我们可以对我们的接口参数进一步说明:
#在Controller上使用@Api会生成这个Controller的整体描述
@Api(value = "Base Index API", description = "基础指数数据")
#在具体方法上使用@ApiOperation可以生成接口的描述
@ApiOperation(value = "回溯数据", notes = "回溯品牌历史指数数据")
#在方法上使用@ApiImplicitParam可以增加对参数等的描述
@ApiImplicitParam(name = "brand", value = "品牌名称", required = true, dataType = "String", paramType = "query")
其他更多操作我们可以查看网上的文章晚上我们的接口文档。
image作者:兔贩子
链接:https://www.jianshu.com/p/7f239554f287
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
网友评论