路由修改

This commit is contained in:
tanghc
2019-03-19 12:50:35 +08:00
parent 2231fdece1
commit 48b0ed87a1
19 changed files with 339 additions and 149 deletions

View File

@@ -17,6 +17,12 @@ public class BaseRouteDefinition {
* 路由规则转发的目标uri
*/
private String uri;
/**
* uri后面跟的path
*/
private String path;
/**
* 路由执行的顺序
*/

View File

@@ -41,7 +41,7 @@ public class GatewayZookeeperRouteManager extends BaseRouteManager<GatewayServic
protected GatewayTargetRoute buildRouteDefinition(GatewayServiceRouteInfo serviceRouteInfo, GatewayRouteDefinition gatewayRouteDefinition) {
RouteDefinition routeDefinition = new RouteDefinition();
routeDefinition.setId(gatewayRouteDefinition.getId());
routeDefinition.setUri(URI.create(gatewayRouteDefinition.getUri()));
routeDefinition.setUri(URI.create(gatewayRouteDefinition.getUri() + "#" + gatewayRouteDefinition.getPath()));
routeDefinition.setOrder(gatewayRouteDefinition.getOrder());
List<FilterDefinition> filterDefinitionList = new ArrayList<>(gatewayRouteDefinition.getFilters().size());
List<PredicateDefinition> predicateDefinitionList = new ArrayList<>(gatewayRouteDefinition.getPredicates().size());

View File

@@ -1,5 +1,6 @@
package com.gitee.sop.gatewaycommon.zuul.route;
import com.gitee.sop.gatewaycommon.message.ErrorEnum;
import com.gitee.sop.gatewaycommon.param.ApiParam;
import com.gitee.sop.gatewaycommon.zuul.ZuulContext;
import org.springframework.cloud.netflix.zuul.filters.Route;
@@ -49,8 +50,9 @@ public class SopRouteLocator implements RouteLocator, Ordered {
if (zuulTargetRoute == null) {
return null;
}
// 路由被禁用
if (zuulTargetRoute.getRouteDefinition().isDisabled()) {
return null;
throw ErrorEnum.ISV_INVALID_METHOD.getErrorMeta().getException();
}
return zuulTargetRoute.getTargetRouteDefinition();
}

View File

@@ -10,5 +10,4 @@ import lombok.Setter;
@Getter
@Setter
public class ZuulRouteDefinition extends BaseRouteDefinition {
private String path;
}

View File

@@ -31,7 +31,7 @@ public class ZuulZookeeperRouteManager extends BaseRouteManager<ZuulServiceRoute
@Override
protected ZuulTargetRoute buildRouteDefinition(ZuulServiceRouteInfo serviceRouteInfo, ZuulRouteDefinition routeDefinition) {
Route route = new Route(routeDefinition.getId(), RoutePathUtil.findPath(routeDefinition.getUri()), serviceRouteInfo.getServiceId(), null, false, null);
Route route = new Route(routeDefinition.getId(), routeDefinition.getPath(), serviceRouteInfo.getServiceId(), null, false, null);
return new ZuulTargetRoute(serviceRouteInfo, routeDefinition, route);
}
}