快速Spring Cloud Gateway整合knife4j
要在Spring Cloud Gateway中整合knife4j,你需要做以下几步:
- 在网关服务中添加依赖:
<!-- knife4j的UI界面 -->
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-spring-boot-starter</artifactId>
<version>最新版本</version>
</dependency>
<!-- Spring Cloud Gateway的依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
- 配置knife4j的文档属性:
knife4j:
enable: true
# 指定swagger-ui的访问路径
basic:
enable: true
username: user
password: password
# 指定swagger-ui的访问路径
doc-title: "网关服务API文档"
# 指定swagger-ui的访问路径
path-mapping:
all: "/doc.html"
- 配置Spring Cloud Gateway以转发到内部服务的knife4j接口:
@Configuration
public class GatewayConfig {
@Bean
public RouteLocator customRouteLocator(RouteLocator routeLocator) {
RouteLocatorBuilder.Builder routes = routeLocator.getRoutes().route("knife4j", r ->
r.path("/knife4j/**")
.filters(f -> f.rewritePath("/knife4j/(?<path>.*)", "/${path}"))
.uri("http://your-service-id")
);
return routes.build();
}
}
确保替换http://your-service-id
为你的内部服务的Spring Boot应用服务ID,这样可以通过网关服务根据服务ID转发到对应的内部服务。
- 启动网关服务并通过网关服务的地址加上配置的路径访问knife4j提供的API文档界面。
以上步骤可以快速地将knife4j整合到Spring Cloud Gateway中,实现对后端服务的API文档管理和访问代理。
评论已关闭