springcloud-alibaba基于nacos整合knife4j接口文档
参考
参考
一、api-doc模块添加pom依赖
<dependencies>
<!-- springboot-web-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- knife4j接口文档-->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-aggregation-spring-boot-starter</artifactId>
<version>2.0.8</version>
</dependency>
</dependencies>
二、配置yml
server:
port: 10909
knife4j:
enableAggregation: true
nacos:
enable: true
serviceUrl: http://localhost:8848/nacos
routeAuth:
enable: true
username: nacos
password: nacos
routes:
- name: 订单服务
serviceName: service-order
location: /v2/api-docs?group=default
servicePath: /order/prod
三、主类
package com.aipdoc;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class DocApplication {
public static void main(String[] args) {
SpringApplication.run(DocApplication.class);
}
}
至此,api-doc模块已经配置好了。如果有gateway网关,要放行api路径,在官方文档中有指引,这里只是做一个简单示例。接下来是在各个微服务模块中配置knife4j。
四、微服务引入pom
<!-- knife4j接口文档 -->
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/knife4j-micro-spring-boot-starter -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-micro-spring-boot-starter</artifactId>
<version>3.0.2</version>
</dependency>
五、配置类Knife4jConfiguration
注意: RequestHandlerSelectors.basePackage("com.yushanma.controller") 扫描的包名应该是 本微服务下的控制器所在包路径
六、接口组
@Api(tags = "接口组名字")
七、接口与参数
// 编写示例, @ApiOperation指明是什么接口,@ApiImplicitParams指明参数是什么
@ApiOperation(value = "测试接口", notes = "studentMapper与iStudentService的测试")
@ApiImplicitParams({@ApiImplicitParam(name = "msg", required = true, paramType = "path")})
八、测试
先启动其他微服务,最后启动api-doc微服务,访问文档中心 http://localhost:10909/doc.html#/home,我们就可以看到编写好的接口,以及进行在线调试接口
