import com.alibaba.fastjson.JSONObject; import org.apache.catalina.servlet4preview.http.HttpServletRequest; import org.springframework.validation.FieldError; import org.springframework.web.bind.MethodArgumentNotValidException; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; @ControllerAdvice //如果返回的为json数据或其它对象,添加该注解 @ResponseBody public class GlobalErrorHandler { //添加全局异常处理流程,根据需要设置需要处理的异常,本文以MethodArgumentNotValidException为例 @ExceptionHandler(value=MethodArgumentNotValidException.class) public JSONObject MethodArgumentNotValidHandler(HttpServletRequest request, MethodArgumentNotValidException exception) throws Exception { JSONObject object = new JSONObject(); StringBuffer stringBuffer = new StringBuffer(); //解析原错误信息,封装后返回,此处返回非法的字段名称,原始值,错误信息 for (FieldError error : exception.getBindingResult().getFieldErrors()) { stringBuffer.append(error.getDefaultMessage()); stringBuffer.append(","); } String str = ""; if(stringBuffer.length()>0) { str = stringBuffer.substring(0, stringBuffer.length() - 1); } object.put("error_code",3); object.put("error_msg",str); return object; } }