如果@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环境和 PortletRequest
Portlet环境中访问。,ModelAndView
对象,aResponseEntity
,或者您也可以添加@ResponseBody
以使方法返回值通过消息转换器转换并写入响应流。