diff --git a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java index ff2b1e85..e9001905 100644 --- a/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java +++ b/spring-cloud-gateway-core/src/main/java/org/springframework/cloud/gateway/route/builder/GatewayFilterSpec.java @@ -644,7 +644,7 @@ public class GatewayFilterSpec extends UriSpec { * @return a {@link GatewayFilterSpec} that can be used to apply additional filters */ public GatewayFilterSpec setStatus(HttpStatus status) { - return setStatus(status.toString()); + return setStatus(status.name()); } /** diff --git a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SetStatusGatewayFilterFactoryTests.java b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SetStatusGatewayFilterFactoryTests.java index 242f41fd..ca12bc66 100644 --- a/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SetStatusGatewayFilterFactoryTests.java +++ b/spring-cloud-gateway-core/src/test/java/org/springframework/cloud/gateway/filter/factory/SetStatusGatewayFilterFactoryTests.java @@ -102,6 +102,24 @@ public class SetStatusGatewayFilterFactoryTests extends BaseWebClientTests { .expectStatus().isEqualTo(status); } + @EnableAutoConfiguration + @SpringBootConfiguration + @Import(DefaultTestConfig.class) + public static class TestEnumConfig { + + @Value("${test.uri}") + String uri; + + @Bean + public RouteLocator enumRouteLocator(RouteLocatorBuilder builder) { + return builder.routes() + .route("test_enum_http_status", r -> r.host("*.setenumstatus.org") + .filters(f -> f.setStatus(HttpStatus.UNAUTHORIZED)).uri(uri)) + .build(); + } + + } + @EnableAutoConfiguration @SpringBootConfiguration @Import(DefaultTestConfig.class)