新项目中需要用到文件上传,有需要对上传文件大小进行限制,当文件超过限制的时候,springboot框架会直接抛出异常,不会进入你的方法中,当我们需要向前台返回信息的时候也无从返回,只能进行全局捕获文件过大的异常,然后再返回信息。
@ControllerAdvice
public class MyControllerAdvice {
/**
* 拦截捕捉文件过大异常
* @param ex
* @return
*/
@ResponseBody
@ExceptionHandler(value = MultipartException.class)
public String fileErrorHandler(MultipartException ex) {
Map<String, String> map = new HashMap<String, String>();
map.put("CODE", "500");
map.put("MESSAGE", "文件大小超过限制");
return JSON.toJSONString(map, true);
}
}
@ExceptionHandler中value的值代表捕获的异常,当value为exception时代表捕获所有异常