gpt4 book ai didi

java - 如何覆盖 RequestParam 的默认行为?

转载 作者:行者123 更新时间:2023-12-02 09:00:30 27 4
gpt4 key购买 nike

我有一个 Rest API,我不想强​​迫客户端发送请求参数。我有近 400 个 api 方法,我不想将所有参数设置为“required = false”

我想覆盖 Spring RequestParam 的默认行为。我想将RequestParam接口(interface)的“required”属性的默认值设置为“false”。

有什么办法可以覆盖它吗?如果我不能或者这不是最佳实践,有什么办法可以解决上述问题。

最佳答案

如上所述 - 您无法更改默认值。

解决您的问题的一些可能方法:

  • 将参数标记为可选:
@RequestMapping(...)
public String url(@RequestParam("key") Optional<String> keyValue```){
}

@RequestMapping(...)
public String url(@RequestParam("key") @Nullable String keyValue){
}

(任何带有“Nullable”名称部分的注释,即 javax.annotation.Nullable)

  • 根本不要使用 RequestParam 注释 - 相反,使用 Pojo 类进行参数绑定(bind):
@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;
}
}

关于java - 如何覆盖 RequestParam 的默认行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60206356/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com