ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 简介 * Swagger作为接口文档工具接入springboot工程非常方便,只需maven继承官方的jar,实现一个configuration就可集成完毕 * 但是对于有较多微服务的系统来说,一个服务一个文档地址,便会觉得比较麻烦。这时候聚合文档的解决方案出现了,将所有的微服务地址以swagger分组的形式展现,切换分组的时候就相当于直接切换了整个微服务。 * JPower对聚合文档做了优化,提供了非常简单、配置方便的解决方案,我们来看看具体如何操作。 ## 如何配置 * 在nacos中配置好`jpower-api.yaml`文件。 ![](https://img.kancloud.cn/12/7d/127d2d9f28387cf9c457644e6053a7bc_1545x869.png) * 在微服务服务工程引入common-swagger依赖即可 ![](https://img.kancloud.cn/48/31/4831a8ae7f6e02577409fb0b3841147b_612x150.png) * 启动jpower-api服务 ![](https://img.kancloud.cn/85/0b/850b4088bfc0904bcb9f20f8eb71fb93_373x355.png) ## 访问文档 * 启动工程访问文档聚合地址: http://localhost:18000/doc.html ![](https://img.kancloud.cn/61/a7/61a73ca9d7cf909577d6fc45a1fc7ca5_2696x1368.png) * 点击左上角的下拉框,我们可以看到已经配置好了4个不同的微服务文档。 ![](https://img.kancloud.cn/e7/bd/e7bde9bdf375f2d1f929e47645bd8ca9_772x724.png) * JPower集成了swagger增强插件knife4j,并已经实现了鉴权的header头,我们只需要再header头中输入鉴权接口返回的值即可。需要注意的是每个微服务模块都需要设置header头的值。设置heaer值之后访问接口无需再配置鉴权的token ![](https://img.kancloud.cn/00/f8/00f8cc695d8a898c0f8aa90b9d37a217_3606x934.png) ## 注意点 * swagger默认在生产环境 prod 下关闭无法使用,因为在生产环境暴露接口会非常危险,若需要开启,可以到对应文件删掉配置 ![](https://img.kancloud.cn/35/f5/35f5724ac2de5cf5348a72e5c5cf73dd_2008x644.png) * 每个服务都需要开启knife4j配置,否则聚合文档不会显示服务接口,具体开启文档的配置如下: ~~~ #knife4j配置 knife4j: #启用 enable: true ~~~ ## API直达 * swagger文档直达:https://swagger.io/ * swagger增强插件knife4j有不少好用的功能,详细说明和使用请查阅官方文档:https://doc.xiaominfo.com/guide/useful.html