diff --git a/.sdkmanrc b/.sdkmanrc
index 4db867675..415f90832 100644
--- a/.sdkmanrc
+++ b/.sdkmanrc
@@ -1,3 +1,3 @@
# Enable auto-env through the sdkman_auto_env config
# Add key=value pairs of SDKs to use below
-java=8.0.292.hs-adpt
+java=17.0.1-tem
diff --git a/docs/pom.xml b/docs/pom.xml
index acb20597b..d54285066 100644
--- a/docs/pom.xml
+++ b/docs/pom.xml
@@ -6,7 +6,7 @@
org.springframework.cloud
spring-cloud-gateway
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
spring-cloud-gateway-docs
jar
diff --git a/pom.xml b/pom.xml
index 0ffbbe3b5..6575314c6 100644
--- a/pom.xml
+++ b/pom.xml
@@ -6,7 +6,7 @@
org.springframework.cloud
spring-cloud-gateway
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
pom
Spring Cloud Gateway
@@ -15,7 +15,7 @@
org.springframework.cloud
spring-cloud-build
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
@@ -52,10 +52,10 @@
UTF-8
UTF-8
1.0.6.RELEASE
- 1.8
+ 17
1.0.0
- 2.1.1-SNAPSHOT
- 3.1.1-SNAPSHOT
+ 3.0.0-SNAPSHOT
+ 4.0.0-SNAPSHOT
1.15.1
diff --git a/spring-cloud-gateway-dependencies/pom.xml b/spring-cloud-gateway-dependencies/pom.xml
index 2daab2d79..2deb34e82 100644
--- a/spring-cloud-gateway-dependencies/pom.xml
+++ b/spring-cloud-gateway-dependencies/pom.xml
@@ -6,12 +6,12 @@
spring-cloud-dependencies-parent
org.springframework.cloud
- 3.1.0
+ 4.0.0-SNAPSHOT
spring-cloud-gateway-dependencies
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
pom
spring-cloud-gateway-dependencies
diff --git a/spring-cloud-gateway-integration-tests/grpc/pom.xml b/spring-cloud-gateway-integration-tests/grpc/pom.xml
index 131dd41ae..6ebdd97e4 100644
--- a/spring-cloud-gateway-integration-tests/grpc/pom.xml
+++ b/spring-cloud-gateway-integration-tests/grpc/pom.xml
@@ -16,7 +16,7 @@
org.springframework.cloud
spring-cloud-gateway-integration-tests
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
@@ -49,6 +49,12 @@
io.netty
netty-tcnative-boringssl-static
+
+ org.apache.tomcat
+ annotations-api
+ 6.0.53
+ provided
+
org.springframework.boot
spring-boot-starter-test
diff --git a/spring-cloud-gateway-integration-tests/http2/pom.xml b/spring-cloud-gateway-integration-tests/http2/pom.xml
index 33038ebf8..0a31ec73d 100644
--- a/spring-cloud-gateway-integration-tests/http2/pom.xml
+++ b/spring-cloud-gateway-integration-tests/http2/pom.xml
@@ -16,7 +16,7 @@
org.springframework.cloud
spring-cloud-gateway-integration-tests
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
diff --git a/spring-cloud-gateway-integration-tests/mvc-failure-analyzer/pom.xml b/spring-cloud-gateway-integration-tests/mvc-failure-analyzer/pom.xml
index a46afcf0b..7bb858b4a 100644
--- a/spring-cloud-gateway-integration-tests/mvc-failure-analyzer/pom.xml
+++ b/spring-cloud-gateway-integration-tests/mvc-failure-analyzer/pom.xml
@@ -16,7 +16,7 @@
org.springframework.cloud
spring-cloud-gateway-integration-tests
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
diff --git a/spring-cloud-gateway-integration-tests/pom.xml b/spring-cloud-gateway-integration-tests/pom.xml
index bb38718ff..4b9f3167c 100644
--- a/spring-cloud-gateway-integration-tests/pom.xml
+++ b/spring-cloud-gateway-integration-tests/pom.xml
@@ -16,7 +16,7 @@
org.springframework.cloud
spring-cloud-gateway
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
diff --git a/spring-cloud-gateway-mvc/pom.xml b/spring-cloud-gateway-mvc/pom.xml
index 7a4495f8e..43120902b 100644
--- a/spring-cloud-gateway-mvc/pom.xml
+++ b/spring-cloud-gateway-mvc/pom.xml
@@ -11,7 +11,7 @@
org.springframework.cloud
spring-cloud-gateway
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
diff --git a/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/ProxyExchange.java b/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/ProxyExchange.java
index 84ab7a9f2..49c88da23 100644
--- a/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/ProxyExchange.java
+++ b/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/ProxyExchange.java
@@ -36,14 +36,14 @@ import java.util.Vector;
import java.util.function.Function;
import java.util.stream.Collectors;
-import javax.servlet.ReadListener;
-import javax.servlet.ServletInputStream;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.WriteListener;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletRequestWrapper;
-import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpServletResponseWrapper;
+import jakarta.servlet.ReadListener;
+import jakarta.servlet.ServletInputStream;
+import jakarta.servlet.ServletOutputStream;
+import jakarta.servlet.WriteListener;
+import jakarta.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequestWrapper;
+import jakarta.servlet.http.HttpServletResponse;
+import jakarta.servlet.http.HttpServletResponseWrapper;
import org.springframework.core.Conventions;
import org.springframework.core.MethodParameter;
diff --git a/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/config/ProxyExchangeArgumentResolver.java b/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/config/ProxyExchangeArgumentResolver.java
index 5c05ed781..01f05cf11 100644
--- a/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/config/ProxyExchangeArgumentResolver.java
+++ b/spring-cloud-gateway-mvc/src/main/java/org/springframework/cloud/gateway/mvc/config/ProxyExchangeArgumentResolver.java
@@ -22,7 +22,7 @@ import java.util.Collections;
import java.util.Enumeration;
import java.util.Set;
-import javax.servlet.http.HttpServletRequest;
+import jakarta.servlet.http.HttpServletRequest;
import org.springframework.cloud.gateway.mvc.ProxyExchange;
import org.springframework.core.MethodParameter;
diff --git a/spring-cloud-gateway-mvc/src/test/java/org/springframework/cloud/gateway/mvc/http/GetWithBodyRequestClientHttpRequestFactory.java b/spring-cloud-gateway-mvc/src/test/java/org/springframework/cloud/gateway/mvc/http/GetWithBodyRequestClientHttpRequestFactory.java
index 8dcee63b6..fd4a06533 100644
--- a/spring-cloud-gateway-mvc/src/test/java/org/springframework/cloud/gateway/mvc/http/GetWithBodyRequestClientHttpRequestFactory.java
+++ b/spring-cloud-gateway-mvc/src/test/java/org/springframework/cloud/gateway/mvc/http/GetWithBodyRequestClientHttpRequestFactory.java
@@ -71,26 +71,32 @@ public class GetWithBodyRequestClientHttpRequestFactory implements ClientHttpReq
}
private HttpUriRequest createHttpUriRequest(final HttpMethod httpMethod, final URI uri) {
- switch (httpMethod) {
- case GET:
+ if (httpMethod.equals(HttpMethod.GET)) {
return new GetWithEntity(uri);
- case HEAD:
+ }
+ else if (httpMethod.equals(HttpMethod.HEAD)) {
return new HttpHead(uri);
- case POST:
+ }
+ else if (httpMethod.equals(HttpMethod.OPTIONS)) {
+ return new HttpOptions(uri);
+ }
+ else if (httpMethod.equals(HttpMethod.POST)) {
return new HttpPost(uri);
- case PUT:
+ }
+ else if (httpMethod.equals(HttpMethod.DELETE)) {
+ return new HttpDelete(uri);
+ }
+ else if (httpMethod.equals(HttpMethod.PUT)) {
return new HttpPut(uri);
- case PATCH:
+ }
+ else if (httpMethod.equals(HttpMethod.PATCH)) {
return new HttpPatch(uri);
- case DELETE:
- return new HttpDelete(uri);
- case OPTIONS:
- return new HttpOptions(uri);
- case TRACE:
+ }
+ else if (httpMethod.equals(HttpMethod.TRACE)) {
return new HttpTrace(uri);
- default:
- throw new IllegalArgumentException("Invalid HTTP method: " + httpMethod);
}
+
+ throw new IllegalArgumentException("Invalid HTTP method: " + httpMethod);
}
private RequestConfig createRequestConfig(final HttpClient client) {
diff --git a/spring-cloud-gateway-mvc/src/test/java/org/springframework/cloud/gateway/mvc/http/HttpComponentsClientHttpRequest.java b/spring-cloud-gateway-mvc/src/test/java/org/springframework/cloud/gateway/mvc/http/HttpComponentsClientHttpRequest.java
index d499d6f86..24b2c3f3a 100644
--- a/spring-cloud-gateway-mvc/src/test/java/org/springframework/cloud/gateway/mvc/http/HttpComponentsClientHttpRequest.java
+++ b/spring-cloud-gateway-mvc/src/test/java/org/springframework/cloud/gateway/mvc/http/HttpComponentsClientHttpRequest.java
@@ -28,6 +28,7 @@ import org.apache.http.entity.ByteArrayEntity;
import org.apache.http.protocol.HttpContext;
import org.springframework.http.HttpHeaders;
+import org.springframework.http.HttpMethod;
import org.springframework.http.client.ClientHttpResponse;
import org.springframework.util.StringUtils;
@@ -52,6 +53,11 @@ final class HttpComponentsClientHttpRequest extends AbstractBufferingClientHttpR
this.httpContext = httpContext;
}
+ @Override
+ public HttpMethod getMethod() {
+ return HttpMethod.valueOf(httpRequest.getMethod());
+ }
+
@Override
public String getMethodValue() {
return httpRequest.getMethod();
diff --git a/spring-cloud-gateway-sample/pom.xml b/spring-cloud-gateway-sample/pom.xml
index 1a42303d8..5ecdee46f 100644
--- a/spring-cloud-gateway-sample/pom.xml
+++ b/spring-cloud-gateway-sample/pom.xml
@@ -16,7 +16,7 @@
org.springframework.cloud
spring-cloud-gateway
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
diff --git a/spring-cloud-gateway-server/pom.xml b/spring-cloud-gateway-server/pom.xml
index 5588e8141..b6e5bfee0 100644
--- a/spring-cloud-gateway-server/pom.xml
+++ b/spring-cloud-gateway-server/pom.xml
@@ -7,7 +7,7 @@
org.springframework.cloud
spring-cloud-gateway
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
spring-cloud-gateway-server
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayMetricsProperties.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayMetricsProperties.java
index 1f2a94ee1..87a505a3c 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayMetricsProperties.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayMetricsProperties.java
@@ -19,7 +19,7 @@ package org.springframework.cloud.gateway.config;
import java.util.HashMap;
import java.util.Map;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.core.style.ToStringCreator;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayProperties.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayProperties.java
index 46b07d611..b0008371c 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayProperties.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/GatewayProperties.java
@@ -20,9 +20,8 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
-import javax.validation.Valid;
-import javax.validation.constraints.NotNull;
-
+import jakarta.validation.Valid;
+import jakarta.validation.constraints.NotNull;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/HttpClientProperties.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/HttpClientProperties.java
index f0e2490fc..ff835a6a8 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/HttpClientProperties.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/HttpClientProperties.java
@@ -31,8 +31,8 @@ import java.util.Collection;
import java.util.List;
import javax.net.ssl.KeyManagerFactory;
-import javax.validation.constraints.Max;
+import jakarta.validation.constraints.Max;
import reactor.netty.resources.ConnectionProvider;
import reactor.netty.tcp.SslProvider;
import reactor.netty.transport.ProxyProvider;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/MaxDataSizeValidator.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/MaxDataSizeValidator.java
index 238bfe33d..54c94f712 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/MaxDataSizeValidator.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/MaxDataSizeValidator.java
@@ -16,9 +16,9 @@
package org.springframework.cloud.gateway.config;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
-import javax.validation.constraints.Max;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
+import jakarta.validation.constraints.Max;
import org.springframework.util.unit.DataSize;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/SimpleUrlHandlerMappingGlobalCorsAutoConfiguration.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/SimpleUrlHandlerMappingGlobalCorsAutoConfiguration.java
index 8986c2021..62c7ffad6 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/SimpleUrlHandlerMappingGlobalCorsAutoConfiguration.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/config/SimpleUrlHandlerMappingGlobalCorsAutoConfiguration.java
@@ -16,7 +16,7 @@
package org.springframework.cloud.gateway.config;
-import javax.annotation.PostConstruct;
+import jakarta.annotation.PostConstruct;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/FilterDefinition.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/FilterDefinition.java
index bb345f7d1..c4afa629c 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/FilterDefinition.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/FilterDefinition.java
@@ -20,7 +20,7 @@ import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.springframework.cloud.gateway.support.NameUtils;
import org.springframework.validation.annotation.Validated;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/WebClientHttpRoutingFilter.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/WebClientHttpRoutingFilter.java
index cfa63e314..24e6cd339 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/WebClientHttpRoutingFilter.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/WebClientHttpRoutingFilter.java
@@ -120,14 +120,7 @@ public class WebClientHttpRoutingFilter implements GlobalFilter, Ordered {
}
private boolean requiresBody(HttpMethod method) {
- switch (method) {
- case PUT:
- case POST:
- case PATCH:
- return true;
- default:
- return false;
- }
+ return method.equals(HttpMethod.PUT) || method.equals(HttpMethod.POST) || method.equals(HttpMethod.PATCH);
}
}
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/AbstractNameValueGatewayFilterFactory.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/AbstractNameValueGatewayFilterFactory.java
index 7fa23c704..9ffdd0acd 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/AbstractNameValueGatewayFilterFactory.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/factory/AbstractNameValueGatewayFilterFactory.java
@@ -19,7 +19,7 @@ package org.springframework.cloud.gateway.filter.factory;
import java.util.Arrays;
import java.util.List;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
import org.springframework.cloud.gateway.filter.GatewayFilter;
import org.springframework.core.style.ToStringCreator;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/ratelimit/RedisRateLimiter.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/ratelimit/RedisRateLimiter.java
index 1e93a8d46..751009a81 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/ratelimit/RedisRateLimiter.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/filter/ratelimit/RedisRateLimiter.java
@@ -23,8 +23,7 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.atomic.AtomicBoolean;
-import javax.validation.constraints.Min;
-
+import jakarta.validation.constraints.Min;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.jetbrains.annotations.NotNull;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/AfterRoutePredicateFactory.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/AfterRoutePredicateFactory.java
index e8cd073eb..fc9ff1925 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/AfterRoutePredicateFactory.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/AfterRoutePredicateFactory.java
@@ -21,7 +21,7 @@ import java.util.Collections;
import java.util.List;
import java.util.function.Predicate;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.springframework.web.server.ServerWebExchange;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactory.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactory.java
index e4c6f089c..c55bd4e80 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactory.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/BetweenRoutePredicateFactory.java
@@ -21,7 +21,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotNull;
import org.springframework.util.Assert;
import org.springframework.validation.annotation.Validated;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactory.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactory.java
index 7f0363bec..7b48397e3 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactory.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/CookieRoutePredicateFactory.java
@@ -20,7 +20,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
import org.springframework.http.HttpCookie;
import org.springframework.validation.annotation.Validated;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/HeaderRoutePredicateFactory.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/HeaderRoutePredicateFactory.java
index 3be062019..8501191f7 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/HeaderRoutePredicateFactory.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/HeaderRoutePredicateFactory.java
@@ -21,7 +21,7 @@ import java.util.Collections;
import java.util.List;
import java.util.function.Predicate;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
import org.springframework.util.ObjectUtils;
import org.springframework.validation.annotation.Validated;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateDefinition.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateDefinition.java
index dc068910d..86c40cac5 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateDefinition.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/PredicateDefinition.java
@@ -20,8 +20,8 @@ import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Objects;
-import javax.validation.ValidationException;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.ValidationException;
+import jakarta.validation.constraints.NotNull;
import org.springframework.cloud.gateway.support.NameUtils;
import org.springframework.validation.annotation.Validated;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/QueryRoutePredicateFactory.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/QueryRoutePredicateFactory.java
index d868e5dd0..2dd37fbd7 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/QueryRoutePredicateFactory.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/QueryRoutePredicateFactory.java
@@ -20,7 +20,7 @@ import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotEmpty;
import org.springframework.util.StringUtils;
import org.springframework.validation.annotation.Validated;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/RemoteAddrRoutePredicateFactory.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/RemoteAddrRoutePredicateFactory.java
index 02b5d7be9..03702cb4f 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/RemoteAddrRoutePredicateFactory.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/handler/predicate/RemoteAddrRoutePredicateFactory.java
@@ -23,11 +23,10 @@ import java.util.Collections;
import java.util.List;
import java.util.function.Predicate;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
-
import io.netty.handler.ipfilter.IpFilterRuleType;
import io.netty.handler.ipfilter.IpSubnetFilterRule;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/route/RouteDefinition.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/route/RouteDefinition.java
index 2bf4e440e..8c35e138d 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/route/RouteDefinition.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/route/RouteDefinition.java
@@ -23,10 +23,10 @@ import java.util.List;
import java.util.Map;
import java.util.Objects;
-import javax.validation.Valid;
-import javax.validation.ValidationException;
-import javax.validation.constraints.NotEmpty;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.Valid;
+import jakarta.validation.ValidationException;
+import jakarta.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotNull;
import org.springframework.cloud.gateway.filter.FilterDefinition;
import org.springframework.cloud.gateway.handler.predicate.PredicateDefinition;
diff --git a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/support/WeightConfig.java b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/support/WeightConfig.java
index 901263c7c..ad8fae9b7 100644
--- a/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/support/WeightConfig.java
+++ b/spring-cloud-gateway-server/src/main/java/org/springframework/cloud/gateway/support/WeightConfig.java
@@ -16,8 +16,8 @@
package org.springframework.cloud.gateway.support;
-import javax.validation.constraints.Min;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.Min;
+import jakarta.validation.constraints.NotEmpty;
import org.springframework.core.style.ToStringCreator;
import org.springframework.validation.annotation.Validated;
diff --git a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/support/ConfigurationServiceTests.java b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/support/ConfigurationServiceTests.java
index ebc41f370..55a3a59ae 100644
--- a/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/support/ConfigurationServiceTests.java
+++ b/spring-cloud-gateway-server/src/test/java/org/springframework/cloud/gateway/support/ConfigurationServiceTests.java
@@ -19,8 +19,7 @@ package org.springframework.cloud.gateway.support;
import java.util.Collections;
import java.util.Map;
-import javax.validation.constraints.Max;
-
+import jakarta.validation.constraints.Max;
import org.junit.Assert;
import org.junit.Test;
diff --git a/spring-cloud-gateway-webflux/pom.xml b/spring-cloud-gateway-webflux/pom.xml
index 7b796c327..cd133b538 100644
--- a/spring-cloud-gateway-webflux/pom.xml
+++ b/spring-cloud-gateway-webflux/pom.xml
@@ -11,7 +11,7 @@
org.springframework.cloud
spring-cloud-gateway
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
diff --git a/spring-cloud-gateway-webflux/src/main/java/org/springframework/cloud/gateway/webflux/ProxyExchange.java b/spring-cloud-gateway-webflux/src/main/java/org/springframework/cloud/gateway/webflux/ProxyExchange.java
index f82f4e2ef..5fc24d646 100644
--- a/spring-cloud-gateway-webflux/src/main/java/org/springframework/cloud/gateway/webflux/ProxyExchange.java
+++ b/spring-cloud-gateway-webflux/src/main/java/org/springframework/cloud/gateway/webflux/ProxyExchange.java
@@ -305,45 +305,55 @@ public class ProxyExchange {
}
public Mono> forward() {
- switch (httpMethod) {
- case GET:
+ if (httpMethod.equals(HttpMethod.GET)) {
return get();
- case HEAD:
+ }
+ else if (httpMethod.equals(HttpMethod.HEAD)) {
return head();
- case OPTIONS:
+ }
+ else if (httpMethod.equals(HttpMethod.OPTIONS)) {
return options();
- case POST:
+ }
+ else if (httpMethod.equals(HttpMethod.POST)) {
return post();
- case DELETE:
+ }
+ else if (httpMethod.equals(HttpMethod.DELETE)) {
return delete();
- case PUT:
+ }
+ else if (httpMethod.equals(HttpMethod.PUT)) {
return put();
- case PATCH:
+ }
+ else if (httpMethod.equals(HttpMethod.PATCH)) {
return patch();
- default:
- return Mono.empty();
}
+
+ return Mono.empty();
}
public Mono> forward(Function, ResponseEntity> converter) {
- switch (httpMethod) {
- case GET:
+ if (httpMethod.equals(HttpMethod.GET)) {
return get(converter);
- case HEAD:
+ }
+ else if (httpMethod.equals(HttpMethod.HEAD)) {
return head(converter);
- case OPTIONS:
+ }
+ else if (httpMethod.equals(HttpMethod.OPTIONS)) {
return options(converter);
- case POST:
+ }
+ else if (httpMethod.equals(HttpMethod.POST)) {
return post(converter);
- case DELETE:
+ }
+ else if (httpMethod.equals(HttpMethod.DELETE)) {
return delete(converter);
- case PUT:
+ }
+ else if (httpMethod.equals(HttpMethod.PUT)) {
return put(converter);
- case PATCH:
+ }
+ else if (httpMethod.equals(HttpMethod.PATCH)) {
return patch(converter);
- default:
- return Mono.empty();
}
+
+ return Mono.empty();
}
private Mono> exchange(RequestEntity> requestEntity) {
diff --git a/spring-cloud-starter-gateway/pom.xml b/spring-cloud-starter-gateway/pom.xml
index 79e804953..473b78812 100644
--- a/spring-cloud-starter-gateway/pom.xml
+++ b/spring-cloud-starter-gateway/pom.xml
@@ -6,7 +6,7 @@
org.springframework.cloud
spring-cloud-gateway
- 3.1.1-SNAPSHOT
+ 4.0.0-SNAPSHOT
..
spring-cloud-starter-gateway