我有一个rest API,我需要将页面num作为查询参数发送。 当我发送null时,它给了我一个糟糕的请求。 以下是其余的API代码
"user_id.keyword"
我使用以下网址keyword
subfield
我收到以下异常
@RequestMapping(value = "/sample", method = RequestMethod.GET)
@ResponseBody
public String sample(
@RequestParam(value = "page-number", required = false, defaultValue = "1") final Integer pageNumber,
@RequestParam(value = "page-size", required = false, defaultValue = "50") final Integer pageSize) {
return "hello";
}
如何处理空案例?
答案 0 :(得分:1)
在点击任何HTTP请求时,如果您不想发送任何请求参数的任何值,请不要在URL中包含该特定参数,而不是向该参数发送空值。
例如
如果您不想在pageNumber请求参数中发送任何值,请不要在请求参数中包含pageNumber。
因此,您的请求网址为:http://localhost:8000/sample
如果您点击类似http://localhost:8000/sample?pageNumber=null
的网址,那么它会映射" null"字符串文字到pageNumber请求参数,您将得到以下异常:
"无法转换类型' java.lang.String'的值要求的类型 ' java.lang.Integer中&#39 ;;嵌套异常是 java.lang.NumberFormatException:对于输入字符串:\" null \"",
因为你期望一个Integer值应该用pageNumber请求参数映射而不是字符串文字。