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