Ocelot允许您指定组成多个普通ReRoute的Aggregate ReRoute,并将其响应映射到一个对象中。
一、在Ocelot.Json中ReRoutes添加以下配置
"ReRoutes": [
//两个普通的ReRoutes
{
"DownstreamPathTemplate": "/api/posts/{postId}",
"DownstreamScheme": "https",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 60184
}
],
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Get" ],
"ReRouteIsCaseSensitive": true,
"Key": "Laura"
},
{
"DownstreamPathTemplate": "/api/posts/{postId}",
"DownstreamScheme": "https",
"DownstreamHostAndPorts": [
{
"Host": "localhost",
"Port": 60184
}
],
"UpstreamPathTemplate": "/posts/{postId}",
"UpstreamHttpMethod": [ "Get" ],
"ReRouteIsCaseSensitive": true,
"Key": "Tom"
}
],
"Aggregates": [
{
//指定一个使用两个键组成两个ReRoute的Aggregate
"ReRouteKeys": [
"Tom",
"Laura"
],
"UpstreamPathTemplate": "/aggrLeader" //普通路由和聚合之间不能重复
//"Aggregator": "FakeDefinedAggregator" //聚合器:FakeDefinedAggregator
}
],