第2个DSL的例子:
1、背景:有个路由服务,需要把接受到http请求路由转发到下游的服务。
2、路由规则配置:
// 请求路由配置示例
[{
"server": [{
"url": "http://192.168.0.100:8080",
"region": "master",
}, {
"url": "http://192.168.0.101:8080",
"region": "slave"
}],
"source": "/api/service1",
"route": [{
"prefix": "v1",
"dest": "/path1/**,/path2/**",
"method": "get",
"body": "*",
"header": "requestId,userId"
}, {
"prefix": "v2",
"dest": "save/{name}",
"method": "post",
"body": "userId,orderId",
"header": "requestId"
}]
}]
这是一个Json对象,server:下游服务服务地址,source:路由服务接受到的请求地址匹配前缀,route:路由规则,prefix:转发请求时添加在请求路径前的前缀,dest:下游服务目标地址,系统使用source和dest来匹配原始请求地址,匹配成功使用该路由规则,method:…。