突发奇想给自己的项目加个接口文档,方便调试。去到Knife4j官网一看,好家伙官网直接更新变样了,而且对于spring boot 项目不用写配置类了,直接在yml配置就可以有接口文档了。
配置解释如下:
knife4j:
enable: true 表示启用 Knife4j 功能。
openapi: 这个部分定义了 OpenAPI 文档的一些基本信息。
title: Knife4j官方文档 是文档的标题。
description: 对文档的描述,这里使用了 Markdown 语法进行了一些格式化,我是测试 是正文部分,**你知道吗** 表示加粗显示。
email: xiaoymin@foxmail.com 是联系邮箱。
concat: 八一菜刀 是联系人的名称。
url: https://docs.xiaominfo.com 是文档的 URL 链接。
version: v4.0 是文档的版本号。
license: Apache 2.0 是许可证类型。
license-url: https://stackoverflow.com/ 是许可证的链接。
terms-of-service-url: https://stackoverflow.com/ 是服务条款的链接。
group: 定义了 API 文档的分组信息。
test1: 是一个分组的标识符。
group-name: 分组名称 是这个分组的名称。
api-rule: package 这里定义了 API 的规则类型,package 表示按照包名来分组。
api-rule-resources: 列表定义了包名,这些包下的 API 会被归类到这个分组中。
com.knife4j.demo.new3 是具体的包名。
根据官网提供的使用步骤如下(非常简单):
1. 导入maven坐标:
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
<version>4.4.0</version>
</dependency>
2. 配置yml
knife4j:
enable: true
openapi:
title: Knife4j官方文档
description: "`我是测试`,**你知道吗**
# aaa"
email: xiaoymin@foxmail.com
concat: 八一菜刀
url: https://docs.xiaominfo.com
version: v4.0
license: Apache 2.0
license-url: https://stackoverflow.com/
terms-of-service-url: https://stackoverflow.com/
group:
test1:
group-name: 分组名称
api-rule: package
api-rule-resources:
- com.knife4j.demo.new3
好,接下来直接启动项目
不错成功启动项目。好接下来直接访问接口文档:localhost:8080/doc.html(http://ip:port/doc.html)。然后就。。。什么情况直接空白!!!
接下开始排错:项目正常启动,文档接口正常访问,通过浏览器一看,全红啥玩意。
百度一看拦截器问题,可是我没有配置拦截器呀。什么原因呐,东拼西凑终于让我给解决了。居然是浏览器缓存的问题。
f12打开浏览器调试,网络清空缓存重新访问即可。