knife4j在配置文件(xml文件)的配置错误
knife4j:enable: trueopenapi:title: 支付接口文档description: "支付接口文档"email: zhanghuyi@itcast.cnconcat: 虎哥url: https://www.itcast.cnversion: v1.0.0group:default:group-name: defaultapi-rule: packageapi-rule-resources:- com.hmall.controller
❗问题根源:配置类中 api-rule-resources:的包写错了
导致访问http://localhost:8085/doc.html不会出现接口文档
✅ 你现在的状态:
| 项目 | 状态 | 
|---|---|
| knife4j.enable: true | ✅ 启用了 Knife4j | 
| knife4j.openapi配置 | ✅ 写了 OpenAPI3 风格的配置 | 
| 配置类 | ❌ 没有写 OpenAPI配置类 | 
| 扫描包 | ❌ 配置的是 com.hmall.controller,但你的PayController在com.hmall.pay.controller | 
✅ 解决步骤(一步到位)
✅ 1. 替换依赖:使用 Knife4j 的 OpenAPI3 版本
把你的 pom.xml 里加上:
<!-- Knife4j 基于 OpenAPI3 -->
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-spring-boot-starter</artifactId><version>4.1.0</version>
</dependency>
⚠️ 注意:这个版本对应的是 OpenAPI3,不是你现在的
knife4j-spring-boot-starter(那是 Swagger2)。
✅ 2. 修改 application.yml 配置
你当前的配置是 OpenAPI3 风格,但 包路径写错了。
把这段:
knife4j:enable: trueopenapi:title: 支付接口文档description: "支付接口文档"email: zhanghuyi@itcast.cnconcat: 虎哥url: https://www.itcast.cn version: v1.0.0group:default:group-name: defaultapi-rule: packageapi-rule-resources:- com.hmall.controller  # ❌ 错误路径
改成:
knife4j:enable: trueopenapi:title: 支付接口文档description: "支付接口文档"email: zhanghuyi@itcast.cnconcat: 虎哥url: https://www.itcast.cn version: v1.0.0group:default:group-name: defaultapi-rule: packageapi-rule-resources:- com.hmall.pay.controller  # ✅ 正确路径
✅ 3. 不需要写配置类(Knife4j 自动配置)
只要你用了 knife4j-openapi3-spring-boot-starter,不需要写任何 @Configuration 类,它会自动扫描并注册 OpenAPI Bean。
✅ 4. 重启项目,访问:
- 文档页面:http://localhost:8085/doc.html
- OpenAPI JSON:http://localhost:8085/v3/api-docs
✅ 总结:你只需要做两件事
| 操作 | 内容 |
| ✅ 改路径 | 把 com.hmall.controller 改成 com.hmall.pay.controller |
