什么是Knife4j?
Knife4j是一款可以提供在线API文档的框架,是基于Swagger框架实现的。
在Spring Boot项目中,使用Knife4j需要添加依赖knife4j-spring-boot-starter
:
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>2.0.9</version>
</dependency>
然后,需要添加配置,则在某
项目的config
包下创建Knife4jConfig
类:
package cn.tedu.boot.demo.config;import com.github.xiaoymin.knife4j.spring.extension.OpenApiExtensionResolver;
import org.springframework.beans.factory.annotation.Autowired;
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.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfig {/*** 【重要】指定Controller包路径*/private String basePackage = "某.controller";/*** 分组名称*/private String groupName = "product";/*** 主机名*/private String host = "http://java.baidu.cn";/*** 标题*/private String title = "在线API文档--商品管理";/*** 简介*/private String description = "在线API文档--商品管理";/*** 服务条款URL*/private String termsOfServiceUrl = "http://www.apache.org/licenses/LICENSE-2.0";/*** 联系人*/private String contactName = "Java研发部";/*** 联系网址*/private String contactUrl = "http://baidu.cn";/*** 联系邮箱*/private String contactEmail = "java@baidu.cn";/*** 版本号*/private String version = "1.0.0";@Autowiredprivate OpenApiExtensionResolver openApiExtensionResolver;@Beanpublic Docket docket() {String groupName = "1.0.0";Docket docket = new Docket(DocumentationType.SWAGGER_2).host(host).apiInfo(apiInfo()).groupName(groupName).select().apis(RequestHandlerSelectors.basePackage(basePackage)).paths(PathSelectors.any()).build().extensions(openApiExtensionResolver.buildExtensions(groupName));return docket;}private ApiInfo apiInfo() {return new ApiInfoBuilder().title(title).description(description).termsOfServiceUrl(termsOfServiceUrl).contact(new Contact(contactName, contactUrl, contactEmail)).version(version).build();}}
注意:必须修改以上配置中的包名,保证是当前项目中控制器类所在的包!其它各项均可不修改,以上配置代码可以从Knife4j的官网找到!
什么是Knife4j?相关推荐
- 终于放弃了单调的 Swagger 了,选择了这款神器 Knife4j
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 来源:最美分享Coder toutiao.com/i6789135 ...
- Swagger增强神器:Knife4j!用它轻松实现接口搜索、Word下载、接口过滤...
Swagger 是开发中最常用的框架之一了,但 Swagger 本身又有很多不完善的地方,比如,在众多的接口中查询某一个接口,又或者是把所有的接口导出成 Word 格式等,都无法在 Swagger 中 ...
- knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案
knife4j knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量, ...
- SpringBoot 整合 knife4j
文章目录 简述 2. 导入依赖 3. 创建配置类 4. 创建User实体类 5. 创建开发接口 6. 启动项目 简述 Swagger是一款测试文档Api接口,具体用法见SpringBoot整合Swag ...
- 轻量小巧的Knife4j v2.0.8源码
介绍: Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望她能像一把匕首一样小巧,轻量,并且功能 ...
- 感觉Swagger功能不够强大?knife4j这款神器了解一下....
点击上方"Java知音",选择"置顶公众号" 技术文章第一时间送达! 1.概览 knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决 ...
- 若依集成knife4j实现swagger文档增强
knife4j的前身是swagger-bootstrap-ui,为了契合微服务的架构发展,由于原来swagger-bootstrap-ui采用的是后端Java代码+前端Ui混合打包的方式,在微服务架构 ...
- swagger文档增强工具knife4j使用详解
本文从本人博客搬运,原文格式更加美观,可以移步原文阅读:swagger文档增强工具knife4j使用详解 使用原生的swagger作为接口文档,功能不够强大,并且默认的ui比较简陋,不符合大众审美.所 ...
- API文档工具knife4j使用详解
api文档 编写api文档是一个费时的操作,过程枯燥.那有没有一种可以自动生成api文档的工具呢,答案是有,比如swagger就是可以自动生成的,像yapi.apidoc.showdoc等等是需要我们 ...
- 权限管理后端篇(一)之创建权限管理表引入knife4j和Druid数据源
权限管理表清单 #删除数据库 drop database product;#创建数据库 create database product;#进入数据库 use product;-- ---------- ...
最新文章
- 机器学习实战笔记(Python实现)-01-机器学习实战
- go 获取内核个数_图解Go运行时调度器
- [Jarvis OJ - PWN]——Test Your Memory
- bootstrap-导航(基础样式)
- python之eval函数,map函数,zip函数
- 研究生夏令营计算机题目,2017计算机学科夏令营上机考试-B编码字符串
- Asp.Net Core 轻松学-玩转配置文件
- 3d激光雷达开发(法向量预测)
- 严格单调递增与非严格之间的转换
- mingw32位下载以及windows下安装
- PS如何快速更换logo颜色
- python redis教程_Python与Redis的连接教程
- JWS实现WebService
- 清华计算机学院考研真题,清华大学计算机考研912真题(回忆版)
- 面向对象重写理解 求值策略 -共享对象调用 面向对象原则
- TCP协议(Socket,ServerSocket)
- 毫无破绽的:Access denied for user ‘root‘@‘%‘ (using password: YES)
- 爱立信实验室实习感想(二)
- 钉钉二次开发-组织机构同步 获取用户信息 单点登录接口
- 计算机毕业设计ssm高校体质测试管理系统dp69w系统+程序+源码+lw+远程部署