JAVA/springboot
Exception 처리
닉의네임
2021. 9. 27. 18:30
반응형
에러상태

리턴값

이기.. 이걸..
Exception 이 발생하는 경우 공통으로 처리해보자
import com.etoos.datalake.model.response.CommonResult;
import com.etoos.datalake.service.ResponseService;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import javax.servlet.http.HttpServletRequest;
@RequiredArgsConstructor
@RestControllerAdvice
public class ExceptionAdvice {
private final ResponseService responseService;
@ExceptionHandler(Exception.class)
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
protected CommonResult defaultException(HttpServletRequest request, Exception e){
return responseService.getFailResult();
}
}
ControllerAdvice의 Annotation은
@ControllerAdvice
@RestControllerAdvice - json 형태의 리턴값
특정 패키지 하위 설정
@RestControllerAdvice(basePackage="com.etoos.datalake")
@ExceptionHandler(Exception.class) - Exception 이 발생하면 Handler 로 처리하겠다
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) - 해당 Exception 이 발생하면 Response 에 출력되는 httpStatus Code가 500으로 내려가도록 설정
수정된 Response

커스텀

나중에 데이타 못찾을때 써야지

반응형