Swagger 官网:API Documentation & Design Tools for Teams | Swagger
1.添加依赖
在 pom.xml 文件中添加 Swagger 的 starter相关依赖
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
springfox-boot-starter 是针对 Spring Boot 项目提供的一个 starter,简化了 Swagger 依赖的导入,否则就需要在 pom.xml 文件中添加 springfox-swagger、springfox-swagger-ui 等多个相关依赖了。
2.添加Swagger配置类
@Configuration
@EnableOpenApi
public class SwaggerConfig {
@Bean
public Docket docket() {
Docket docket = new Docket(DocumentationType.OAS_30)
.apiInfo(apiInfo()).enable(true)
.select()
.apis(RequestHandlerSelectors.basePackage("com.ceshi.controller"))
//swagger注册接口的包地址
.paths(PathSelectors.any())
.build();
return docket;
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("xx项目")
//标题
.description("xx后端api文档")
//描述
.contact(new Contact("张三", "111111","1234562163.com"))
//名称,url,邮箱
.version("1.0")
//版本号
.build();
}
}
(1)@Configuration 注解通常用来声明一个 Java 类为配置类(
(2)@EnableOpenApi 注解表明开启 Swagger服务。
(3)SwaggerConfig 类中包含一个 @Bean 注解声明的方法 docket()
,该方法会被 Spring 的 AnnotationConfigApplicationContext 或 AnnotationConfigWebApplicationContext 类进行扫描,然后添加到 Spring 容器当中,
3.添加接口类进行测试
注: 添加的接口要包含在配置类中定义的包下面
@Api(tags = "测试 Swagger")
@RestController
@RequestMapping("/ceshi")
public class SwaggerController {
@ApiOperation("测试swagger功能")
@RequestMapping("/ceshi")
public String test() {
return "测试swagger功能";
}
}
(1)@Api注解,标注在类上,该注解将该类标注为一个 Swagger 资源
(2) @ApiOperation 注解,用在方法上,描述这个方法的具体作用
4.查看Swagger接口文档
在浏览器中访问服务对应的ip+port/swagger-ui/ 就可以访问到swagger生成的api文档了