Affects: 6.0.12 and older versions


When specifying a defaultValue for a request parameter, my understanding is that the request parameter should never be null. However, providing e.g. a whitespace character (%20) for a Boolean parameter results in a null value.

I've created a small reproducible example here.

When using the latest Spring version 6.1.0-M5, I don't get a null value anymore. Instead, Spring returns an HTTP status code 500. While this behaviour is different, I think it's still not what should happen. I would expect a status code 400 - or maybe a 200 with the Boolean parameter set to its default value.

I also found this similar issue from 2013: https://github.com/spring-projects/spring-framework/issues/14813

Looking forward to a fix :)

Comment From: rstoyanchev

There was a fix for this in #29550, and the default value is used but we need to apply conversion still on the default value.