From 5c6b9be3a1e25d250d4b825e73e96493c37c95e1 Mon Sep 17 00:00:00 2001 From: rstoyanchev Date: Tue, 24 Oct 2023 12:53:25 +0100 Subject: [PATCH] Send 400 for PathVariable that is null after conversion This implies a value was actually sent, but is not something that can be converted to the expected type. Closes gh-31382 --- .../web/bind/MissingPathVariableException.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spring-web/src/main/java/org/springframework/web/bind/MissingPathVariableException.java b/spring-web/src/main/java/org/springframework/web/bind/MissingPathVariableException.java index e5280775437..fa19839502d 100644 --- a/spring-web/src/main/java/org/springframework/web/bind/MissingPathVariableException.java +++ b/spring-web/src/main/java/org/springframework/web/bind/MissingPathVariableException.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2022 the original author or authors. + * Copyright 2002-2023 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -88,7 +88,7 @@ public class MissingPathVariableException extends MissingRequestValueException { @Override public HttpStatusCode getStatusCode() { - return HttpStatus.INTERNAL_SERVER_ERROR; + return (isMissingAfterConversion() ? HttpStatus.BAD_REQUEST : HttpStatus.INTERNAL_SERVER_ERROR); } }