Как было сказано выше - вы не можете изменить значение по умолчанию.
Некоторые возможные способы решения вашей проблемы:
- пометьте необязательный параметр:
@RequestMapping(...)
public String url(@RequestParam("key") Optional<String> keyValue```){
}
или
@RequestMapping(...)
public String url(@RequestParam("key") @Nullable String keyValue){
}
(любая аннотация с частью имени «Nullable», т.е. javax.annotation.Nullable)
- вообще не использовать аннотацию RequestParam - вместо этого используйте классы Pojo для привязки параметров:
@RequestMapping(...)
public String url(PojoRequestParameters parameters) {
}
//...
public class PojoRequestParameters {
private String key;
public String getKey() {
return key;
}
public void setKey(String key) {
this.key = key;
}
}
- написать (и зарегистрировать) свою собственную аннотацию и использовать ее вместо RequestParam (невозможно создать псевдоним для аннотации RequestParam)
- изменить значение аннотации во время выполнения (без ума и может не работает для аннотации метода), что-то вроде этого: https://www.baeldung.com/java-reflection-change-annotation-params