目前较为流行的自动api生成框架为swagger,不过UI界面并不怎么适合国人的使用习惯,FEBS Cloud集成的是Knife4J,下面演示下如何开启微服务API文档生成。 以前面“如何添加自己的子系统”中搭建的febs-server-hello微服务子系统为例,需要开启API自动生成需要如下步骤: 1. pom中引入febs-common-doc-starter依赖: ```xml <dependency> <groupId>cc.mrbird</groupId> <artifactId>febs-common-doc-starter</artifactId> <version>${febs-cloud.version}</version> </dependency> ``` 2. 系统配置文件bootstrap.yml中添加如下配置: ```yml febs: doc: enable: true title: ${spring.application.name}文档 base-package: cc.mrbird.febs.server.hello.controller description: ${febs.doc.title} name: MrBird email: 852252810@qq.com url: https://mrbird.cc version: 2.0-RELEASE cloud: security: enable: true anon-uris: /v2/api-docs,/v2/api-docs-ext ``` 配置具体含义IDEA会提示(如果没有提示,只需要编译下项目即可): ![Jn3R0A.png](https://s1.ax1x.com/2020/04/18/Jn3R0A.png) 此外,必须通过febs.cloud.security.anno-uris配置指定`/v2/api-docs,/v2/api-docs-ext`免认证资源。 重启febs-server-hello系统,使用浏览器访问:[http://localhost:8301/hello/v2/api-docs](http://localhost:8301/hello/v2/api-docs): ![JnYCjS.png](https://s1.ax1x.com/2020/04/18/JnYCjS.png) 可以看到,API相关的JSON数据有了,接下来就是展示它了。在febs-gateway的配置类中(写在Nacos控制台的febs-gateway.yaml中了)添加: ![JntIsO.png](https://s1.ax1x.com/2020/04/18/JntIsO.png) 修改后,通过浏览器访问:[http://127.0.0.1:8301/doc.html](http://127.0.0.1:8301/doc.html) ![JnNSOS.png](https://s1.ax1x.com/2020/04/18/JnNSOS.png) ![JnNlk9.png](https://s1.ax1x.com/2020/04/18/JnNlk9.png) ![JnNa0e.png](https://s1.ax1x.com/2020/04/18/JnNa0e.png)