如果我有一个代码,其中:
@RequestParam(value = "amount", required = false) Integer amount
是我的参数之一,我该怎么做才能防止用户给这个参数赋值为“空”呢?
例如:假设他们在Postman上请求的URL 与下面的完全一样,但是没有给这个参数赋值。如何在我的代码中验证它,并防止它们将空值赋给Integer对象?我的意思是,required真的必须定义为false -因为这个参数不需要被通知-但是,如果它被通知了,它就不能接收空值。如果这个参数是一个字符串类型的对象,我知道我可以只写一个简单的
if (amount.isEmpty()) {
...
}
但是由于它是Integer类型,我不知道如何验证它,因为变量不是null (因为它在URL上被告知),尽管没有赋值。
简而言之:我希望在URL调用中允许以下内容:
http://localhost:8080/myproject
http://localhost:8080/myproject?amount=2222
但不是这样的:
发布于 2019-04-25 12:40:47
如果未在url http://localhost:8080/myproject?amount=
中传递数量,则默认情况下整数值将为null,因为amount
可以包含NULL值
@RequestMapping("/create3")
public String create3(@RequestParam Integer amount){
if(amount == null){
//return bad request
}
System.out.println("amount: "+amount);
return "Done";
}
https://stackoverflow.com/questions/55837237
复制相似问题