package com.landtool.lanbase.common.exception;
|
|
import org.apache.shiro.authz.AuthorizationException;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.dao.DuplicateKeyException;
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
|
import com.landtool.lanbase.common.utils.Result;
|
|
/**
|
* @author lanbase
|
* @Description: TODO(异常处理器)
|
* @date 2017-6-23 15:07
|
*/
|
@RestControllerAdvice
|
public class LanbaseExceptionHandler {
|
|
private Logger logger = LoggerFactory.getLogger(getClass());
|
|
/**
|
* 自定义异常
|
*/
|
@ExceptionHandler(LanbaseException.class)
|
public Result handleLanbaseException(LanbaseException e){
|
return Result.error(e.getCode(), e.getMessage());
|
}
|
|
@ExceptionHandler(DuplicateKeyException.class)
|
public Result handleDuplicateKeyException(DuplicateKeyException e){
|
logger.error(e.getMessage(), e);
|
return Result.error("数据库中已存在该记录");
|
}
|
|
@ExceptionHandler(AuthorizationException.class)
|
public Result handleAuthorizationException(AuthorizationException e){
|
logger.error(e.getMessage(), e);
|
return Result.error("没有权限,请联系管理员授权");
|
}
|
|
@ExceptionHandler(Exception.class)
|
public Result handleException(Exception e){
|
logger.error(e.getMessage(), e);
|
return Result.error();
|
}
|
|
}
|