mirror of
https://gitee.com/durcframework/SOP.git
synced 2025-08-11 21:57:56 +08:00
路由修改
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
package com.gitee.sop.gatewaycommon.gateway.filter;
|
||||
|
||||
import com.gitee.sop.gatewaycommon.util.RoutePathUtil;
|
||||
import com.gitee.sop.gatewaycommon.util.RouteUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.cloud.gateway.filter.GatewayFilterChain;
|
||||
import org.springframework.cloud.gateway.filter.GlobalFilter;
|
||||
@@ -47,7 +47,7 @@ public class LoadBalancerClientExtFilter implements GlobalFilter, Ordered {
|
||||
protected String findPath(Route route) {
|
||||
URI routeUri = route.getUri();
|
||||
String uriStr = routeUri.toString();
|
||||
return RoutePathUtil.findPath(uriStr);
|
||||
return RouteUtil.findPath(uriStr);
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -1,16 +1,14 @@
|
||||
package com.gitee.sop.gatewaycommon.util;
|
||||
|
||||
import org.springframework.cloud.gateway.route.Route;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
/**
|
||||
* @author tanghc
|
||||
*/
|
||||
public class RoutePathUtil {
|
||||
public class RouteUtil {
|
||||
|
||||
public static final String REGEX = "\\#";
|
||||
|
||||
public static final String PROTOCOL_LOAD_BALANCE = "lb://";
|
||||
|
||||
public static String findPath(String uri) {
|
||||
// #后面是对应的path
|
||||
String[] uriArr = uri.split(REGEX);
|
||||
@@ -20,4 +18,12 @@ public class RoutePathUtil {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static String getZuulLocation(String uri) {
|
||||
if (uri.toLowerCase().startsWith(PROTOCOL_LOAD_BALANCE)) {
|
||||
return uri.substring(PROTOCOL_LOAD_BALANCE.length());
|
||||
}
|
||||
return uri;
|
||||
}
|
||||
|
||||
}
|
@@ -2,7 +2,7 @@ package com.gitee.sop.gatewaycommon.zuul.route;
|
||||
|
||||
import com.gitee.sop.gatewaycommon.manager.BaseRouteManager;
|
||||
import com.gitee.sop.gatewaycommon.manager.RouteRepository;
|
||||
import com.gitee.sop.gatewaycommon.util.RoutePathUtil;
|
||||
import com.gitee.sop.gatewaycommon.util.RouteUtil;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.cloud.netflix.zuul.filters.Route;
|
||||
import org.springframework.core.env.Environment;
|
||||
@@ -31,7 +31,9 @@ public class ZuulZookeeperRouteManager extends BaseRouteManager<ZuulServiceRoute
|
||||
|
||||
@Override
|
||||
protected ZuulTargetRoute buildRouteDefinition(ZuulServiceRouteInfo serviceRouteInfo, ZuulRouteDefinition routeDefinition) {
|
||||
Route route = new Route(routeDefinition.getId(), routeDefinition.getPath(), serviceRouteInfo.getServiceId(), null, false, null);
|
||||
// 路由重试
|
||||
String retry = environment.getProperty("sop.route.retry", "true");
|
||||
Route route = new Route(routeDefinition.getId(), routeDefinition.getPath(), RouteUtil.getZuulLocation(routeDefinition.getUri()), null, Boolean.valueOf(retry), null);
|
||||
return new ZuulTargetRoute(serviceRouteInfo, routeDefinition, route);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user