自定义异常返回
@RestControllerAdvice
@Slf4j
public class ExceptionAdvice {
@ExceptionHandler(value= MethodArgumentNotValidException.class)
public JsonData<Map<String,String>> handleValidException(MethodArgumentNotValidException e) throws JsonProcessingException {
log.error("数据校验出现问题{},异常类型:{}",e.getMessage(),e.getClass());
BindingResult bindingResult = e.getBindingResult();
Map<String,String> errorMap = new HashMap<>(10);
bindingResult.getFieldErrors().forEach((fieldError -> errorMap.put(fieldError.getField(),fieldError.getDefaultMessage())));
return JsonData.fail(ResultCodeEnum.VALID_ERROR.getCode(), JsonMapper.builder().build().writeValueAsString(errorMap));
}
@ExceptionHandler(value= ServiceException.class)
public JsonData<Object> handleServiceException(ServiceException exception){
return JsonData.fail(exception.getCode(), exception.getMessage());
}
}