@@ -159,11 +159,14 @@ void supportsParameter() {
159
159
param = this .testMethod .annotPresent (RequestPart .class ).arg (MultipartFile .class );
160
160
assertThat (resolver .supportsParameter (param )).isFalse ();
161
161
162
- param = this .testMethod .annotPresent ( RequestParam . class ).arg (Integer .class );
162
+ param = this .testMethod .annot ( requestParam (). name ( "${systemProperty}" ) ).arg (Integer .class );
163
163
assertThat (resolver .supportsParameter (param )).isTrue ();
164
164
165
165
param = this .testMethod .annotPresent (RequestParam .class ).arg (int .class );
166
166
assertThat (resolver .supportsParameter (param )).isTrue ();
167
+
168
+ param = this .testMethod .annot (requestParam ().name ("#{'na'.concat('me')}" )).arg (Integer .class );
169
+ assertThat (resolver .supportsParameter (param )).isTrue ();
167
170
}
168
171
169
172
@ Test
@@ -715,6 +718,21 @@ void notNullablePrimitiveParameterFromSystemPropertyThroughPlaceholder() {
715
718
System .clearProperty ("systemProperty" );
716
719
}
717
720
721
+ @ Test
722
+ void resolveNameThroughSpEL () throws Exception {
723
+ ConfigurableWebBindingInitializer initializer = new ConfigurableWebBindingInitializer ();
724
+ initializer .setConversionService (new DefaultConversionService ());
725
+ WebDataBinderFactory binderFactory = new DefaultDataBinderFactory (initializer );
726
+
727
+ Integer expected = 100 ;
728
+ request .addParameter ("name" , expected .toString ());
729
+
730
+ MethodParameter param = this .testMethod .annot (requestParam ().name ("#{'na'.concat('me')}" )).arg (Integer .class );
731
+ Object result = resolver .resolveArgument (param , null , webRequest , binderFactory );
732
+ assertThat (result ).isEqualTo (100 );
733
+
734
+ }
735
+
718
736
@ SuppressWarnings ({"unused" , "OptionalUsedAsFieldOrParameterType" })
719
737
public void handle (
720
738
@ RequestParam (name = "name" , defaultValue = "bar" ) String param1 ,
@@ -740,7 +758,9 @@ public void handle(
740
758
@ RequestParam ("mfile" ) Optional <MultipartFile > multipartFileOptional ,
741
759
@ RequestParam (defaultValue = "false" ) Boolean booleanParam ,
742
760
@ RequestParam ("${systemProperty}" ) Integer placeholderParam ,
743
- @ RequestParam (name = "${systemProperty}" , required = false ) int primitivePlaceholderParam ) {
761
+ @ RequestParam (name = "${systemProperty}" , required = false ) int primitivePlaceholderParam ,
762
+ @ RequestParam ("#{'na'.concat('me')}" ) Integer spelParam
763
+ ) {
744
764
}
745
765
746
766
}
0 commit comments