diff --git a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/VersionRequestCondition.java b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/VersionRequestCondition.java index ceb1d51f255..8bc7734921d 100644 --- a/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/VersionRequestCondition.java +++ b/spring-webflux/src/main/java/org/springframework/web/reactive/result/condition/VersionRequestCondition.java @@ -105,10 +105,6 @@ public final class VersionRequestCondition extends AbstractRequestCondition requestVersion = exchange.getAttribute(VERSION_ATTRIBUTE_NAME); if (requestVersion == null) { String value = this.versionStrategy.resolveVersion(exchange); @@ -118,7 +114,7 @@ public final class VersionRequestCondition extends AbstractRequestCondition condition.getMatchingCondition(exchangeWithVersion("1.2"))) + .isInstanceOf(InvalidApiVersionException.class); + + assertThatThrownBy(() -> condition.getMatchingCondition(MockServerWebExchange.from(MockServerHttpRequest.get("/")))) + .isInstanceOf(MissingApiVersionException.class); + } + private void testMatch( String requestVersion, VersionRequestCondition condition, boolean matches, boolean notAcceptable) { diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/VersionRequestCondition.java b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/VersionRequestCondition.java index 401c257229b..2df3288d475 100644 --- a/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/VersionRequestCondition.java +++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/mvc/condition/VersionRequestCondition.java @@ -27,6 +27,7 @@ import org.springframework.util.Assert; import org.springframework.util.StringUtils; import org.springframework.web.accept.ApiVersionStrategy; import org.springframework.web.accept.InvalidApiVersionException; +import org.springframework.web.accept.MissingApiVersionException; import org.springframework.web.accept.NotAcceptableApiVersionException; import org.springframework.web.bind.annotation.RequestMapping; @@ -104,10 +105,6 @@ public final class VersionRequestCondition extends AbstractRequestCondition requestVersion = (Comparable) request.getAttribute(VERSION_ATTRIBUTE_NAME); if (requestVersion == null) { String value = this.versionStrategy.resolveVersion(request); @@ -117,7 +114,7 @@ public final class VersionRequestCondition extends AbstractRequestCondition condition.getMatchingCondition(requestWithVersion("1.2"))) + .isInstanceOf(InvalidApiVersionException.class); + + assertThatThrownBy(() -> condition.getMatchingCondition(new MockHttpServletRequest("GET", "/path"))) + .isInstanceOf(MissingApiVersionException.class); + } + private void testMatch( String requestVersion, VersionRequestCondition condition, boolean matches, boolean notAcceptable) {