Spring MVC-缺少字段的HTTP状态代码400(错误请求),定义为不需要

我有使用此控制器方法的Spring MVC应用程序。

@RequestMapping(value = "/add", method = RequestMethod.POST)

public String addNumber(@RequestParam(value="number", required=false) Long number) {

...

return "redirect:/showAll/";

}

在我的JSP中,我有一个标准的HTML表单,该表单将一个名为“

number”的值发布到上述控制器方法中。但是,如果我忽略该值(不要在文本字段中输入任何内容)并将数据过帐到控制器,则在调用控制器方法之前,浏览器将显示

HTTP Status 400 - Required Long parameter 'number' is not present

尽管控制器方法注释清楚地定义了“数字”参数,但 必需。

有人对可能发生的事情有一点想法吗?

谢谢。

PS:引发的异常如下:

org.springframework.web.bind.MissingServletRequestParameterException: Required Long parameter 'number' is not present

回答:

我遇到了相同的情况,当您的参数以空值出现在请求中时,就会发生这种情况。

也就是说,如果您的POST正文包含“ number

=“(具有空值),那么Spring会抛出此异常。但是,如果该参数在请求中根本不存在,则它应该可以正常工作而不会出现任何错误。

以上是 Spring MVC-缺少字段的HTTP状态代码400(错误请求),定义为不需要 的全部内容, 来源链接: utcz.com/qa/411939.html

回到顶部