Spring MyController 如何确定参数为必须的。
备注
只需要在参数中确定 @RequestParam 注解 required 修改为 true 就可以了。
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/endpoint")
public String handleRequest(@RequestParam(name = "param", required = false) String param) {
if (param == null) {
return "Parameter 'param' is null";
} else {
return "Parameter 'param' is: " + param;
}
}
}
上面的代码显示的参数是必须的。
可选的方案是,我们可以在新版本中使用 Optional
。
如下面的代码:
import java.util.Optional;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class MyController {
@GetMapping("/endpoint")
public String handleRequest(@RequestParam(name = "param") Optional<String> param) {
return param.orElse("Parameter 'param' is not present");
}
}
我们把代码中对参数的要求修改为: Optional
下面的代码显示了 GTP 的回答。
默认情况下是必须要向参数提供内容。