Knife4j在springboot中的配置
详情了解请参考官方文档
knife4j是swagger的增强版,更契合微服务架构,ui前身是swagger-bootstrap-ui。
pom.xml导入依赖
<!--Knife4j文档接口,包含了ui界面-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<!-- 2.x基于springfox2.x,3.x基于springfox3.x-->
<!--在引用时请在maven中央仓库搜索最新版本号-->
<version>2.0.9</version>
</dependency>
config配置类
package com.xm.springbootdemos.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {
@Bean(value = "defaultApi2")
public Docket defaultApi2() {
Docket docket=new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
//.title("swagger-bootstrap-ui-demo RESTful APIs")
.description("# swagger-bootstrap-ui-demo RESTful APIs")
.termsOfServiceUrl("http://www.xx.com/")
.contact("xx@qq.com")
.version("1.0")
.build())
//分组名称
.groupName("2.X版本")
.select()
//这里指定Controller扫描包路径
.apis(RequestHandlerSelectors.basePackage("com.xm.springbootdemos.controller"))
.paths(PathSelectors.any())
.build();
return docket;
}
}
Knife4j使用注解
api注解的使用方式和swagger一致。
Knife4j和swagger-bootstrap-ui的访问地址一致,都是 doc.html 。
今天也是元气满满的一天鸭!