GlobalExceptionHandler.java 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. package com.yaozhitech.spring5.common.handler;
  2. import javax.servlet.http.HttpServletResponse;
  3. import org.slf4j.Logger;
  4. import org.slf4j.LoggerFactory;
  5. import org.springframework.web.bind.annotation.ControllerAdvice;
  6. import org.springframework.web.bind.annotation.ExceptionHandler;
  7. import org.springframework.web.bind.annotation.ResponseBody;
  8. import com.yaozhitech.spring5.common.constant.CommonConstants;
  9. import com.yaozhitech.spring5.common.exception.BaseException;
  10. import com.yaozhitech.spring5.common.exception.auth.ClientTokenException;
  11. import com.yaozhitech.spring5.common.exception.auth.UserInvalidException;
  12. import com.yaozhitech.spring5.common.exception.auth.UserTokenException;
  13. import com.yaozhitech.spring5.common.msg.BaseResponse;
  14. /**
  15. * Created by ace on 2017/9/8.
  16. */
  17. @ControllerAdvice("com.yaozhitech")
  18. @ResponseBody
  19. public class GlobalExceptionHandler {
  20. private Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class);
  21. @ExceptionHandler(ClientTokenException.class)
  22. public BaseResponse clientTokenExceptionHandler(HttpServletResponse response, ClientTokenException ex) {
  23. response.setStatus(403);
  24. logger.error(ex.getMessage(),ex);
  25. return new BaseResponse(ex.getStatus(), ex.getMessage());
  26. }
  27. @ExceptionHandler(UserTokenException.class)
  28. public BaseResponse userTokenExceptionHandler(HttpServletResponse response, UserTokenException ex) {
  29. response.setStatus(200);
  30. logger.error(ex.getMessage(),ex);
  31. return new BaseResponse(ex.getStatus(), ex.getMessage());
  32. }
  33. @ExceptionHandler(UserInvalidException.class)
  34. public BaseResponse userInvalidExceptionHandler(HttpServletResponse response, UserInvalidException ex) {
  35. response.setStatus(200);
  36. logger.error(ex.getMessage(),ex);
  37. return new BaseResponse(ex.getStatus(), ex.getMessage());
  38. }
  39. @ExceptionHandler(BaseException.class)
  40. public BaseResponse baseExceptionHandler(HttpServletResponse response, BaseException ex) {
  41. logger.error(ex.getMessage(),ex);
  42. response.setStatus(500);
  43. return new BaseResponse(ex.getStatus(), ex.getMessage());
  44. }
  45. @ExceptionHandler(Exception.class)
  46. public BaseResponse otherExceptionHandler(HttpServletResponse response, Exception ex) {
  47. response.setStatus(500);
  48. logger.error(ex.getMessage(),ex);
  49. return new BaseResponse(CommonConstants.EX_OTHER_CODE, ex.getMessage());
  50. }
  51. }