44 lines
1.7 KiB
Java
44 lines
1.7 KiB
Java
package io.gisbi.exception;
|
|
|
|
|
|
import io.gisbi.i18n.Translator;
|
|
import io.gisbi.result.ResultCode;
|
|
import io.gisbi.result.ResultMessage;
|
|
import io.gisbi.utils.LogUtil;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.validation.ObjectError;
|
|
import org.springframework.web.bind.MethodArgumentNotValidException;
|
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
|
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
|
|
|
@RestControllerAdvice
|
|
public class GlobalExceptionHandler {
|
|
|
|
|
|
@ExceptionHandler(MethodArgumentNotValidException.class)
|
|
public ResultMessage MethodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
|
|
ObjectError objectError = e.getBindingResult().getAllErrors().get(0);
|
|
String msg = objectError.getDefaultMessage();
|
|
msg = Translator.get(msg);
|
|
LogUtil.error(msg);
|
|
return new ResultMessage(ResultCode.PARAM_IS_INVALID.code(), msg);
|
|
}
|
|
|
|
@ExceptionHandler(DEException.class)
|
|
public ResultMessage deExceptionHandler(DEException e) {
|
|
LogUtil.error(e.getMessage(), e);
|
|
return new ResultMessage(e.getCode(), e.getMessage());
|
|
}
|
|
|
|
@ExceptionHandler(NullPointerException.class)
|
|
public ResultMessage noUserExceptionHandler(Exception e) {
|
|
String message = e.getMessage();
|
|
LogUtil.error(message, e);
|
|
if (StringUtils.contains(message, "Cannot invoke \"io.dataease.auth.bo.TokenUserBO.getUserId()\" because \"user\" is null")) {
|
|
return new ResultMessage(ResultCode.USER_NOT_LOGGED_IN.code(), ResultCode.USER_NOT_LOGGED_IN.message());
|
|
}
|
|
return new ResultMessage(ResultCode.PARAM_IS_BLANK.code(), message);
|
|
}
|
|
|
|
}
|