While it is true that no runtime errors will be thrown in the case you described, I think that the scope of this rule is to enforce deterministic behaviors.
In the case you described, I would argue that if you want to have an optional boolean @RequestParam, you should use the boxed class Boolean and also add the defaultValue property to it to define what should happen if the user does not provide the parameter.
@GetMapping("/test")
public String testEndpoint(
@RequestParam(value = "test", required = false, defaultValue = "true") final Boolean test) {
return "If 'test' is not provided, it will default to 'true'.";
}
Unless you want to manually handle the null case, of course.
So I think the rule should still report in cases like the one you described