knife4j
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!
gitee地址:https://gitee.com/xiaoym/knife4j
官方文档:https://doc.xiaominfo.com/
效果演示:http://knife4j.xiaominfo.com/doc.html
核心功能
文档说明
在线调试
个性化配置
离线文档
接口排序
集成knife4j
在leadnews-common
模块中引入如下依赖
pom.xml<dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> </dependency>
|
同时在父工程引入版本信息
pom.xml<properties> <knife4j.version>3.0.3</knife4j.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>com.github.xiaoymin</groupId> <artifactId>knife4j-spring-boot-starter</artifactId> <version>${knife4j.version}}</version> </dependency> </dependencies> </dependencyManagement>
|
创建配置文件
Knife4jConfiguration@Configuration @EnableSwagger2 @EnableKnife4j @Import(BeanValidatorPluginsConfiguration.class) public class Knife4jConfiguration {
@Bean(value = "defaultApi2") public Docket defaultApi2() { return new Docket(DocumentationType.SWAGGER_2) .apiInfo(apiInfo()) .groupName("1.0") .select() .apis(RequestHandlerSelectors.basePackage("com.swx")) .paths(PathSelectors.any()) .build(); }
private ApiInfo apiInfo() { return new ApiInfoBuilder() .title("头条新闻API文档") .description("头条新闻API文档") .version("1.0") .build(); } }
|
- @EnableKnife4j:该注解是Knife4j提供的增强注解,UI提供了例如动态参数、参数过滤、接口排序等增强功能
配置自动装配,在META-INF/spring.factories
中添加自动装配类
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.swx.common.knife4j.Knife4jConfiguration
|
浏览器访问地址:http://localhost:port/doc.html