我有一个Rest API,我不想强迫客户端发送请求参数,我有将近400个api方法,我不想把所有参数都设置为"required = false“
我想覆盖Spring RequestParam的默认行为。我想将RequestParam接口的"required“属性的默认值设置为"false”。
有什么方法可以覆盖它吗?如果我不能或者这不是一个最佳实践,有没有办法解决上面的问题。
发布于 2020-02-13 19:59:14
如上所述,您不能更改默认值。
一些可能的解决问题的方法:
@RequestMapping(...)
public String url(@RequestParam("key") Optional<String> keyValue```){
}
或
@RequestMapping(...)
public String url(@RequestParam("key") @Nullable String keyValue){
}
(带有“可空”名称部分的任何注解,即javax.annotation.Nullable)
@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;
}
}
如下所示:https://www.baeldung.com/java-reflection-change-annotation-params:
https://stackoverflow.com/questions/60206356
复制相似问题