1.校验错误拦截处理 @ExceptionHandler(MethodArgumentNotValidException.class)
/**
* 校验错误拦截处理
*
* @param exception 错误信息集合
* @return 错误信息
*/
@ExceptionHandler(MethodArgumentNotValidException.class)
public Response validationBodyException(MethodArgumentNotValidException exception){
BindingResult result = exception.getBindingResult();
/**
*可解开
**/
String errorMessage = "参数错误";
if (result.hasErrors()) {
List<ObjectError> errors = result.getAllErrors();
FieldError fieldError = (FieldError) errors.get(0);
errorMessage = "字段:"+fieldError.getField()+",原因:"+fieldError.getDefaultMessage();
}
SystemError.INVALID_PARAMETER.setErrorMessage(errorMessage);
return Response.error(SystemError.INVALID_PARAMETER);
}
2.参数类型转换错误@ExceptionHandler(HttpMessageConversionException.class)
/**
* 参数类型转换错误
*
* @param exception 错误
* @return 错误信息
*/
@ExceptionHandler(HttpMessageConversionException.class)
public Response parameterTypeException(HttpMessageConversionException exception){
SystemError.BEAN_CONVERSION_TYPE_ERROR.setErrorMessage("类型转换异常:"+exception.getCause().getLocalizedMessage());
return Response.error(SystemError.BEAN_CONVERSION_TYPE_ERROR);
}