feat: support gateway context, feign eager-load support default value.

pull/1504/head
Haotian Zhang 7 months ago
parent 78a953dda3
commit b6edfa55f1

@ -111,7 +111,7 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered {
StringBuilder matchPath = new StringBuilder(); StringBuilder matchPath = new StringBuilder();
StringBuilder realPath = new StringBuilder(); StringBuilder realPath = new StringBuilder();
int index = 2; int index = 2;
matchPath.append(request.getMethodValue()).append("|"); matchPath.append(request.getMethod().name()).append("|");
for (int i = index; i < pathSegments.length; i++) { for (int i = index; i < pathSegments.length; i++) {
matchPath.append("/").append(pathSegments[i]); matchPath.append("/").append(pathSegments[i]);
realPath.append("/").append(pathSegments[i]); realPath.append("/").append(pathSegments[i]);
@ -131,15 +131,17 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered {
String[] pathSegments = path.split("/"); String[] pathSegments = path.split("/");
StringBuilder matchPath = new StringBuilder(); StringBuilder matchPath = new StringBuilder();
int index = 2; int index = 2;
matchPath.append(request.getMethodValue()).append("|"); matchPath.append(request.getMethod().name()).append("|");
Position namespacePosition = groupContext.getPredicate().getNamespace().getPosition(); Position namespacePosition = groupContext.getPredicate().getNamespace().getPosition();
switch (namespacePosition) { switch (namespacePosition) {
case QUERY: case QUERY:
matchPath.append("/").append(request.getQueryParams().getFirst(groupContext.getPredicate().getNamespace().getKey())); matchPath.append("/")
.append(request.getQueryParams().getFirst(groupContext.getPredicate().getNamespace().getKey()));
break; break;
case HEADER: case HEADER:
matchPath.append("/").append(request.getHeaders().getFirst(groupContext.getPredicate().getNamespace().getKey())); matchPath.append("/")
.append(request.getHeaders().getFirst(groupContext.getPredicate().getNamespace().getKey()));
break; break;
case PATH: case PATH:
default: default:
@ -149,10 +151,12 @@ public class ContextGatewayFilter implements GatewayFilter, Ordered {
Position servicePosition = groupContext.getPredicate().getService().getPosition(); Position servicePosition = groupContext.getPredicate().getService().getPosition();
switch (servicePosition) { switch (servicePosition) {
case QUERY: case QUERY:
matchPath.append("/").append(request.getQueryParams().getFirst(groupContext.getPredicate().getService().getKey())); matchPath.append("/")
.append(request.getQueryParams().getFirst(groupContext.getPredicate().getService().getKey()));
break; break;
case HEADER: case HEADER:
matchPath.append("/").append(request.getHeaders().getFirst(groupContext.getPredicate().getService().getKey())); matchPath.append("/")
.append(request.getHeaders().getFirst(groupContext.getPredicate().getService().getKey()));
break; break;
case PATH: case PATH:
default: default:

Loading…
Cancel
Save