route配置
@Bean
public RouteLocator myRoute(RouteLocatorBuilder builder){
return builder.routes()
.route("deal-server",p->p
.method("GET").and()
.path("/deal/**")
.uri("http://localhost:8888")
)
.route("chat-server",predicateSpec -> {
return predicateSpec.method("GET")
.and().path("/chat/**")
.uri("http://localhost:8848");
})
.build();
}
application
spring:
config:
import: nacos:gateway-server.properties
cloud:
nacos:
discovery:
server-addr: http://localhost:8848
config:
server-addr: http://localhost:8848
main:
web-application-type: reactive
application:
name: gateway-server
一些Ant路径模式的常见用法
单字符匹配 ?
? 代表匹配路径中的一个字符。
例如:/user? 可以匹配 /user1、/user2,但不能匹配 /users。
多字符匹配 *
- 代表匹配路径中的任意数量的字符(包括零个字符)。
例如:/users/* 可以匹配 /users/123、/users/profile,但不能匹配 /users。
多级路径匹配 **
** 代表匹配路径中的任意数量的路径段,包括零个路径段。
例如:/users/** 可以匹配 /users/、/users/123、/users/123/profile。
路径分隔符 /
/ 用于分隔路径中的各个部分。
例如:/users/profile 匹配路径 /users/profile。