From b6edfa55f13194047a9a7eea07e049dcf026d55a Mon Sep 17 00:00:00 2001 From: Haotian Zhang <928016560@qq.com> Date: Wed, 26 Feb 2025 19:46:18 +0800 Subject: [PATCH] feat: support gateway context, feign eager-load support default value. --- .../gateway/context/ContextGatewayFilter.java | 46 ++++++++++--------- 1 file changed, 25 insertions(+), 21 deletions(-) diff --git a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/ContextGatewayFilter.java b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/ContextGatewayFilter.java index 261e45c04..3fc1d1907 100644 --- a/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/ContextGatewayFilter.java +++ b/spring-cloud-tencent-plugin-starters/spring-cloud-starter-tencent-gateway-plugin/src/main/java/com/tencent/cloud/plugin/gateway/context/ContextGatewayFilter.java @@ -111,7 +111,7 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered { StringBuilder matchPath = new StringBuilder(); StringBuilder realPath = new StringBuilder(); int index = 2; - matchPath.append(request.getMethodValue()).append("|"); + matchPath.append(request.getMethod().name()).append("|"); for (int i = index; i < pathSegments.length; i++) { matchPath.append("/").append(pathSegments[i]); realPath.append("/").append(pathSegments[i]); @@ -131,32 +131,36 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered { String[] pathSegments = path.split("/"); StringBuilder matchPath = new StringBuilder(); int index = 2; - matchPath.append(request.getMethodValue()).append("|"); + matchPath.append(request.getMethod().name()).append("|"); Position namespacePosition = groupContext.getPredicate().getNamespace().getPosition(); switch (namespacePosition) { - case QUERY: - matchPath.append("/").append(request.getQueryParams().getFirst(groupContext.getPredicate().getNamespace().getKey())); - break; - case HEADER: - matchPath.append("/").append(request.getHeaders().getFirst(groupContext.getPredicate().getNamespace().getKey())); - break; - case PATH: - default: - matchPath.append("/").append(pathSegments[index++]); - break; + case QUERY: + matchPath.append("/") + .append(request.getQueryParams().getFirst(groupContext.getPredicate().getNamespace().getKey())); + break; + case HEADER: + matchPath.append("/") + .append(request.getHeaders().getFirst(groupContext.getPredicate().getNamespace().getKey())); + break; + case PATH: + default: + matchPath.append("/").append(pathSegments[index++]); + break; } Position servicePosition = groupContext.getPredicate().getService().getPosition(); switch (servicePosition) { - case QUERY: - matchPath.append("/").append(request.getQueryParams().getFirst(groupContext.getPredicate().getService().getKey())); - break; - case HEADER: - matchPath.append("/").append(request.getHeaders().getFirst(groupContext.getPredicate().getService().getKey())); - break; - case PATH: - default: - matchPath.append("/").append(pathSegments[index++]); + case QUERY: + matchPath.append("/") + .append(request.getQueryParams().getFirst(groupContext.getPredicate().getService().getKey())); + break; + case HEADER: + matchPath.append("/") + .append(request.getHeaders().getFirst(groupContext.getPredicate().getService().getKey())); + break; + case PATH: + default: + matchPath.append("/").append(pathSegments[index++]); } StringBuilder realPath = new StringBuilder(); for (int i = index; i < pathSegments.length; i++) {