在 spring-boot 中使用 swagger-ui 设置 springfox
- 使用 Maven 或 Gradle 将 springfox 添加到你的应用程序中
- 在你的应用程序中创建一个新的 Docket bean 并对其进行配置
- 根据你的需求记录你的 API
- 启动你的应用程序并查看你取得的成果
#1 使用 Maven 获取 springfox
在 pom.xml 中添加 swagger2 和 swagger-ui 的依赖项
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.6.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.6.0</version>
</dependency>
#2 配置应用程序以使用 swagger
将注释 @EnableSwagger2
添加到 @SpringBootApplication
注释的主类中,并在此(或任何其他)配置类中创建一个 swagger Docket bean。
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
此配置将生成应用程序中所有弹簧控制器的 API 文档。如果你需要将 API 文档生成限制为某些控制器,则可以在各种 RequestHandlerSelectors 之间进行选择。例如,你可以使用 RequestHandlerSelectors.basePackage("your.package.structure")
或基于你使用 RequestHandlerSelectors.withClassAnnotation(Api.class)
注释的特定类,根据你的包结构生成 API 文档。
#3 记录你的 API
使用文档中描述的注释,以使用其他信息增强控制器类和方法。要描述 api 的一般信息,如一般标题,描述或版本,请在 Docket bean 中使用 ApiInfoBuilder()
。
使用 ApiInfoBuilder 进行元数据定义的示例:
// Within your configuration class
public static ApiInfo metadata(){
return new ApiInfoBuilder()
.title("Your Title")
.description("Your Description")
.version("1.x")
.build();
}
// Within your method that definies the Docket bean...
docket.apiInfo(metadata());