package com.starcharge.config; import javax.servlet.http.HttpServletRequest; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ResponseBody; import com.ihidea.component.api.v2.BaseResponse; import com.ihidea.core.support.exception.ServiceException; @ControllerAdvice public class GlobalExceptionHandler { private Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class); @ExceptionHandler(ServiceException.class) @ResponseBody public BaseResponse<String> serviceExceptionHandler(HttpServletRequest req, ServiceException e) { String message = e.getMessage(); String code = e.getCode(); logger.error("ex:", e); return BaseResponse.responseWithException(code, message); } @ExceptionHandler(RuntimeException.class) @ResponseBody public BaseResponse<String> runtimeExceptionHandler(HttpServletRequest req, RuntimeException e) { logger.error("ex:", e); return BaseResponse.responseWithException(null, e.getMessage()); } @ExceptionHandler(Exception.class) @ResponseBody public BaseResponse<String> defaultExceptionHandler(HttpServletRequest req, Exception e) { logger.error("ex:", e); return BaseResponse.responseWithException(null, e.getMessage()); } }