Java Spring-如何处理缺少的必需请求参数

考虑以下映射:

@RequestMapping(value = "/superDuperPage", method = RequestMethod.GET)

public String superDuperPage(@RequestParam(value = "someParameter", required = true) String parameter)

{

return "somePage";

}

我想通过 添加来处理参数丢失的情况required = false。默认情况下,400返回错误,但是我想返回另一个页面。我该如何实现?

回答:

如果@RequestParam请求中没有要求,Spring将抛出MissingServletRequestParameterException异常。您可以@ExceptionHandler在同一控制器中或中定义@ControllerAdvice来处理该异常:

@ExceptionHandler(MissingServletRequestParameterException.class)

public void handleMissingParams(MissingServletRequestParameterException ex) {

String name = ex.getParameterName();

System.out.println(name + " parameter is missing");

// Actual exception handling

}

我想返回另一个页面。我该如何实现?

如Spring文档所述:

与标有@RequestMapping 注解的标准控制器方法非常相似,

。例如,

HttpServletRequest可以在Servlet环境和 PortletRequestPortlet环境中访问。

ModelAndView对象,a

ResponseEntity,或者您也可以添加@ResponseBody以使方法返回值通过消息转换器转换并写入响应流。

以上是 Java Spring-如何处理缺少的必需请求参数 的全部内容, 来源链接: utcz.com/qa/435264.html

回到顶部