SpringBoot Learning- 글로벌 예외 처리 설정 (JSON으로 돌아 가기)
필요
설명
@controlleradvice
이 주석은 봄 2.3 이후에 추가 된 새로운 주석입니다. 주로 컨트롤러의 일반적인 요구에 대한 비 침습적 향상에 대한 지원을 제공하는 데 사용되며 @requestmapping 주석 메소드에 사용됩니다.
@ExceptionHandler
이 주석은 @ExceptionHandler와 함께 사용되는 주석입니다. 사용자 정의 오류 처리기입니다. JSON 문자열을 직접 조립하고 페이지로 돌아갈 수 있습니다.
암호
다음과 같이 글로벌 예외 처리 클래스를 만듭니다.
다른 예외가 구현할 작업이 다른 경우 @ExceptionHandler의 값 값 만 변경하면됩니다. 여러 가지 다른 예외는 동시에 처리 될 수 있지만 포함 상태는 발생할 수 없습니다.
import javax.servlet.http.httpervletrequest; import org.springframework.web.bind.annotation.controlleradvice; import org.springframework.web.bind.annotation.excepthandler; import org.springframework.bind.bind GlobalExceptionHandler { / ** * 모든 예외보고 된 오류 * @param request * @param exception * @ethrows Exception * / @exceptionHandler (value = explory.class) public String allexceptionHandler (httpservletRequest 요청, 예외 예외) 예외 {exception.printstacktrace (); System.out.println ( "나는 오류를보고했다 :"+expler.getLocalizedMessage ()); system.out.println ( "나는 오류를보고했다 :"+expler.getCause ()); System.out.println ( "나는 오류를보고했다 :"+expler.getSuppressed ()); system.out.println ( "나는 오류를보고했다 :"+expler.getMessage ()); System.out.println ( "나는 오류를보고했다 :"+expler.getStackTrace ()); "서버 예외, 관리자에게 문의하십시오!"; }}예외 던지기 수업을 시뮬레이션합니다. 다음 예는 널 포인터 예외를 던지는 것이며 분모는 예외가 아닙니다.
org.springframework.steretype.controller; import org.springframework.beb.bind.annotation.requestmapping; import org.sprameframework.web.bind.annotation.responsebody;@controller@requestmapping ( "/exceptiontest")@responsepublic classtest {@requeCTMApp ( "/"). test () {message msg = null; msg.tostring (); createexception (); "나는 정상이다"는 반환; } private void createexception () {int i = 5/0; }}SpringBoot, 실행 결과를 시작하십시오
반환 된 문자열이므로 JSON 도구 클래스를 사용하여 캡슐화하고 JSON 문자열을 반환 할 수도 있습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.