com.github.xiaoymin knife4j-spring-boot-starter 2.0.4 ```
- 在Swagger2Config中增加一个@EnableKnife4j注解,该注解可以开启knife4j的增强功能;
/**
* Swagger2API文档的配置
*/
@Configuration
@EnableSwagger2
@EnableKnife4j
public class Swagger2Config {
}
- 运行我们的SpringBoot应用,访问API文档地址即可查看:http://localhost:8088/doc.html
功能特点
接下来我们对比下Swagger,看看使用knife4j和它有啥不同之处!
JSON功能增强
平时一直使用Swagger,但是Swagger的JSON支持一直不是很好,JSON不能折叠,太长没法看,传JSON格式参数时,没有参数校验功能。这些痛点,在knife4j上都得到了解决。
- 返回结果集支持折叠,方便查看;
- 请求参数有JSON校验功能。
登录认证
knife4j也支持在头部添加Token,用于登录认证使用。
- 首先在Authorize功能中添加登录返回的Token;
- 之后在每个接口中就可以看到已经在请求头中携带了Token信息。
离线文档
knife4j支持导出离线文档,方便发送给别人,支持Markdown格式。
- 直接选择文档管理->离线文档功能,然后选择下载Markdown即可;
- 我们来查看下导出的Markdown离线文档,还是很详细的。
全局参数
knife4j支持临时设置全局参数,支持两种类型query(表单)、header(请求头)。
- 比如我们想要在所有请求头中加入一个参数appType来区分是android还是ios调用,可以在全局参数中添加;
- 此时再调用接口时,就会包含appType这个请求头了。
忽略参数属性
有时候我们创建和修改的接口会使用同一个对象作为请求参数,但是我们创建的时候并不需要id,而修改的时候会需要id,此时我们可以忽略id这个属性。
- 比如这里的创建商品接口,id、商品数量、商品评论数量都可以让后台接口生成无需传递,可以使用knife4j提供的@ApiOperationSupport注解来忽略这些属性;
/**
## 总结
总的来说,面试是有套路的,一面基础,二面架构,三面个人。
**最后,小编这里收集整理了一些资料,其中包括面试题(含答案)、书籍、视频等。希望也能帮助想进大厂的朋友,[点击这里即可免费获取](https://gitee.com/vip204888/java-p7)**
![三面蚂蚁金服成功拿到offer后,他说他累了](https://img-blog.csdnimg.cn/img_convert/6e1de72e700d50187bb448d5b996b074.png)
![三面蚂蚁金服成功拿到offer后,他说他累了](https://img-blog.csdnimg.cn/img_convert/fb11aa8acc3b5a75becb9ca8ce014dda.png)
![三面蚂蚁金服成功拿到offer后,他说他累了](https://img-blog.csdnimg.cn/img_convert/d560c2e5e5732a8d295091f95a0b8e5a.png)
34064478)]
[外链图片转存中...(img-WFyHZveL-1628634064479)]
[外链图片转存中...(img-oZOEogWu-1628634064479)]