项目前后端分离,接口需要单独调试,维护一份接口文档提供给前端开发者。Swagger2作为一个规范和完整的HTTP接口服务框架,可以用于生成、描述、调用和可视化 RESTful 风格的 HTTP接口。
项目集成Swagger2框架步骤如下。
1、pop.xml添加Maven依赖
在pop.xml文件中配置Swagger2依赖包。
<!--Swagger2的依赖--> <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> <!--Swagger2的依赖-->
配置完成后,单击窗口右侧Maven标签项,展开Maven管理窗口,单击“Reload All Maven Projects”即可完成依赖文件的下载。
2、创建Swagger2配置类
Swagger2配置类主要用于创建调试接口和接口文当,需要配置Controller类的包路径和生成接口文档的基本信息。
在项目com.milihua.ebook包下新建config包,在config包下建立SwaggerConfig类。
程序清单6.2 SwaggerConfig.java
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(restApiInfo())
.select()
// 指定包名
.apis(RequestHandlerSelectors.basePackage("com.hg.evaluation.controller"))
.paths(PathSelectors.any())
.build();
}
private ApiInfo restApiInfo() {
return new ApiInfoBuilder()
.title("springboot利用swagger2构建api文档")
.description("简单优雅的restful风格")
.termsOfServiceUrl("no terms of serviceUrl")
.version("1.0")
.build();
}
}SwaggerConfig类方法 createRestApi 函数创建 Docket的Bean之后,调用apiInfo()方法创建该 Api 的基本信息(这些基本信息会展现在文档页面中)。select()方法返回一个 ApiSelectorBuilder实例用来控制哪些接口暴露给 Swagger 来展现,本例采用指定扫描的包路径来定义Swagger 会扫描该包下所有 Controller 定义的 API,并产生接口文档内容。
3、配置EnableSwagger2注解
在项目应用类EbookApplication.java头部添加EnableSwagger2注解。
程序清单6.3 EvaluationApplication.java
@SpringBootApplication
@EnableSwagger2
@MapperScan("com.milihua.ebook.dao")
public class EbookApplication {
public static void main(String[] args) {
SpringApplication.run(EbookApplication.class, args);
}
}