After running the spring boot 3.4 migration some Spring @RequestParam annotations had their arguments removed, which caused IllegalStateException during a subsequent test pass.
So in a function like:
@GetMapping
String foo(@RequestParam("a") String a) { ...}
Some part of the migration was changing it to:
@GetMapping
String foo(@RequestParam String a) { ...}
This would be fine if the compiler configuration included the -parameters argument, but it didn't, so this change is erroneous.
The recipe responsible is org.openrewrite.java.spring.ImplicitWebAnnotationNames. In the short term I'm going to remove it from spring boot best practices. Ideally it would be fixed to only make its change if -parameters is part of the compiler configuration.
After running the spring boot 3.4 migration some Spring
@RequestParamannotations had their arguments removed, which causedIllegalStateExceptionduring a subsequent test pass.So in a function like:
Some part of the migration was changing it to:
This would be fine if the compiler configuration included the
-parametersargument, but it didn't, so this change is erroneous.The recipe responsible is
org.openrewrite.java.spring.ImplicitWebAnnotationNames. In the short term I'm going to remove it from spring boot best practices. Ideally it would be fixed to only make its change if-parametersis part of the compiler configuration.