swagger基于代码生成文档很强悍了,但是在接口很多的时候swagger原生的ui界面就不是很好展现,这个时候就有人来制作符合国人习惯的UI增强包了,那就是knife4j-spring-ui,knife4j-spring-ui的前生是小有名气的swagger-bootstrap-ui.knife4j-spring-ui界面更好看,而且进行了集成封装使用更简单。
1.springBoot集成knife4j
只需要在项目引用knife4j的包就可以了
<dependencies>
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>2.0.2</version>
</dependency>
</dependencies>
再在启动类添加注解
@EnableSwagger2
@EnableKnife4j
注解 | 说明 |
---|---|
@EnableSwagger2 |
该注解是Springfox-swagger框架提供的使用Swagger注解,该注解必须加 |
@EnableKnife4j |
该注解是knife4j 提供的增强注解,Ui提供了例如动态参数、参数过滤、接口排序等增强功能,如果你想使用这些增强功能就必须加该注解,否则可以不用加 |
然后你就可以访问接口文档了
http://localhost:8080/doc.html
当然你还可以进一步配置
@Configuration
@EnableSwagger2
@EnableKnife4j
@Import(BeanValidatorPluginsConfiguration.class)
public class SwaggerConfiguration {
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket=new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
//分组名称
.groupName("2.X版本")
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.swagger.bootstrap.ui.demo.new2"))
.paths(PathSelectors.any())
.build();
return docket;
}
}
2.代码中添加注解生成API文档的写法
参考上一篇文章:springBoot使用swagger3自动生成接口文档
主要看文章包含了的注解说明和案例代码,swagger2和swagger3注解代码写法是兼容的。