AccessDeniedException 401 -> 403 으로 변경
This commit is contained in:
@@ -45,197 +45,197 @@ public class GlobalExceptionHandler {
|
|||||||
@ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
|
@ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||||
@ExceptionHandler(EntityNotFoundException.class)
|
@ExceptionHandler(EntityNotFoundException.class)
|
||||||
public ApiResponseDto<String> handlerEntityNotFoundException(
|
public ApiResponseDto<String> handlerEntityNotFoundException(
|
||||||
EntityNotFoundException e, HttpServletRequest request) {
|
EntityNotFoundException e, HttpServletRequest request) {
|
||||||
log.warn("[EntityNotFoundException] resource :{} ", e.getMessage());
|
log.warn("[EntityNotFoundException] resource :{} ", e.getMessage());
|
||||||
String codeName = "NOT_FOUND_DATA";
|
String codeName = "NOT_FOUND_DATA";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf("UNPROCESSABLE_ENTITY"),
|
HttpStatus.valueOf("UNPROCESSABLE_ENTITY"),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf("UNPROCESSABLE_ENTITY"),
|
HttpStatus.valueOf("UNPROCESSABLE_ENTITY"),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
||||||
@ExceptionHandler(HttpMessageNotReadableException.class)
|
@ExceptionHandler(HttpMessageNotReadableException.class)
|
||||||
public ApiResponseDto<String> handleUnreadable(
|
public ApiResponseDto<String> handleUnreadable(
|
||||||
HttpMessageNotReadableException e, HttpServletRequest request) {
|
HttpMessageNotReadableException e, HttpServletRequest request) {
|
||||||
log.warn("[HttpMessageNotReadableException] resource :{} ", e.getMessage());
|
log.warn("[HttpMessageNotReadableException] resource :{} ", e.getMessage());
|
||||||
String codeName = "BAD_REQUEST";
|
String codeName = "BAD_REQUEST";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.NOT_FOUND)
|
@ResponseStatus(HttpStatus.NOT_FOUND)
|
||||||
@ExceptionHandler(NoSuchElementException.class)
|
@ExceptionHandler(NoSuchElementException.class)
|
||||||
public ApiResponseDto<String> handlerNoSuchElementException(
|
public ApiResponseDto<String> handlerNoSuchElementException(
|
||||||
NoSuchElementException e, HttpServletRequest request) {
|
NoSuchElementException e, HttpServletRequest request) {
|
||||||
log.warn("[NoSuchElementException] resource :{} ", e.getMessage());
|
log.warn("[NoSuchElementException] resource :{} ", e.getMessage());
|
||||||
String codeName = "NOT_FOUND_DATA";
|
String codeName = "NOT_FOUND_DATA";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf("NOT_FOUND"),
|
HttpStatus.valueOf("NOT_FOUND"),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
||||||
@ExceptionHandler(IllegalArgumentException.class)
|
@ExceptionHandler(IllegalArgumentException.class)
|
||||||
public ApiResponseDto<String> handlerIllegalArgumentException(
|
public ApiResponseDto<String> handlerIllegalArgumentException(
|
||||||
IllegalArgumentException e, HttpServletRequest request) {
|
IllegalArgumentException e, HttpServletRequest request) {
|
||||||
log.warn("[handlerIllegalArgumentException] resource :{} ", e.getMessage());
|
log.warn("[handlerIllegalArgumentException] resource :{} ", e.getMessage());
|
||||||
String codeName = "BAD_REQUEST";
|
String codeName = "BAD_REQUEST";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
|
@ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||||
@ExceptionHandler(DataIntegrityViolationException.class)
|
@ExceptionHandler(DataIntegrityViolationException.class)
|
||||||
public ApiResponseDto<String> handlerDataIntegrityViolationException(
|
public ApiResponseDto<String> handlerDataIntegrityViolationException(
|
||||||
DataIntegrityViolationException e, HttpServletRequest request) {
|
DataIntegrityViolationException e, HttpServletRequest request) {
|
||||||
log.warn("[DataIntegrityViolationException] resource :{} ", e.getMessage());
|
log.warn("[DataIntegrityViolationException] resource :{} ", e.getMessage());
|
||||||
String codeName = "DATA_INTEGRITY_ERROR";
|
String codeName = "DATA_INTEGRITY_ERROR";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf("UNPROCESSABLE_ENTITY"),
|
HttpStatus.valueOf("UNPROCESSABLE_ENTITY"),
|
||||||
ErrorLogDto.LogErrorLevel.CRITICAL,
|
ErrorLogDto.LogErrorLevel.CRITICAL,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf("UNPROCESSABLE_ENTITY"),
|
HttpStatus.valueOf("UNPROCESSABLE_ENTITY"),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
||||||
@ExceptionHandler(MethodArgumentNotValidException.class)
|
@ExceptionHandler(MethodArgumentNotValidException.class)
|
||||||
public ApiResponseDto<String> handlerMethodArgumentNotValidException(
|
public ApiResponseDto<String> handlerMethodArgumentNotValidException(
|
||||||
MethodArgumentNotValidException e, HttpServletRequest request) {
|
MethodArgumentNotValidException e, HttpServletRequest request) {
|
||||||
log.warn("[MethodArgumentNotValidException] resource :{} ", e.getMessage());
|
log.warn("[MethodArgumentNotValidException] resource :{} ", e.getMessage());
|
||||||
String codeName = "BAD_REQUEST";
|
String codeName = "BAD_REQUEST";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.UNAUTHORIZED)
|
@ResponseStatus(HttpStatus.FORBIDDEN)
|
||||||
@ExceptionHandler(AccessDeniedException.class)
|
@ExceptionHandler(AccessDeniedException.class)
|
||||||
public ApiResponseDto<String> handlerAccessDeniedException(
|
public ApiResponseDto<String> handlerAccessDeniedException(
|
||||||
AccessDeniedException e, HttpServletRequest request) {
|
AccessDeniedException e, HttpServletRequest request) {
|
||||||
log.warn("[AccessDeniedException] resource :{} ", e.getMessage());
|
log.warn("[AccessDeniedException] resource :{} ", e.getMessage());
|
||||||
String codeName = "UNAUTHORIZED";
|
String codeName = "FORBIDDEN";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.ERROR,
|
ErrorLogDto.LogErrorLevel.ERROR,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.BAD_GATEWAY)
|
@ResponseStatus(HttpStatus.BAD_GATEWAY)
|
||||||
@ExceptionHandler(HttpServerErrorException.BadGateway.class)
|
@ExceptionHandler(HttpServerErrorException.BadGateway.class)
|
||||||
public ApiResponseDto<String> handlerHttpServerErrorException(
|
public ApiResponseDto<String> handlerHttpServerErrorException(
|
||||||
HttpServerErrorException e, HttpServletRequest request) {
|
HttpServerErrorException e, HttpServletRequest request) {
|
||||||
log.warn("[HttpServerErrorException] resource :{} ", e.getMessage());
|
log.warn("[HttpServerErrorException] resource :{} ", e.getMessage());
|
||||||
String codeName = "BAD_GATEWAY";
|
String codeName = "BAD_GATEWAY";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.CRITICAL,
|
ErrorLogDto.LogErrorLevel.CRITICAL,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
|
@ResponseStatus(HttpStatus.UNPROCESSABLE_ENTITY)
|
||||||
@ExceptionHandler(IllegalStateException.class)
|
@ExceptionHandler(IllegalStateException.class)
|
||||||
public ApiResponseDto<String> handlerIllegalStateException(
|
public ApiResponseDto<String> handlerIllegalStateException(
|
||||||
IllegalStateException e, HttpServletRequest request) {
|
IllegalStateException e, HttpServletRequest request) {
|
||||||
log.warn("[IllegalStateException] resource :{} ", e.getMessage());
|
log.warn("[IllegalStateException] resource :{} ", e.getMessage());
|
||||||
|
|
||||||
String codeName = "UNPROCESSABLE_ENTITY";
|
String codeName = "UNPROCESSABLE_ENTITY";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
||||||
@ExceptionHandler(MemberException.DuplicateMemberException.class)
|
@ExceptionHandler(MemberException.DuplicateMemberException.class)
|
||||||
public ApiResponseDto<String> handlerDuplicateMemberException(
|
public ApiResponseDto<String> handlerDuplicateMemberException(
|
||||||
MemberException.DuplicateMemberException e, HttpServletRequest request) {
|
MemberException.DuplicateMemberException e, HttpServletRequest request) {
|
||||||
log.warn("[DuplicateMemberException] resource :{} ", e.getMessage());
|
log.warn("[DuplicateMemberException] resource :{} ", e.getMessage());
|
||||||
|
|
||||||
String codeName = "";
|
String codeName = "";
|
||||||
@@ -250,112 +250,112 @@ public class GlobalExceptionHandler {
|
|||||||
}
|
}
|
||||||
|
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf("BAD_REQUEST"),
|
HttpStatus.valueOf("BAD_REQUEST"),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf("BAD_REQUEST"),
|
HttpStatus.valueOf("BAD_REQUEST"),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
@ResponseStatus(HttpStatus.BAD_REQUEST)
|
||||||
@ExceptionHandler(MemberException.MemberNotFoundException.class)
|
@ExceptionHandler(MemberException.MemberNotFoundException.class)
|
||||||
public ApiResponseDto<String> handlerMemberNotFoundException(
|
public ApiResponseDto<String> handlerMemberNotFoundException(
|
||||||
MemberException.MemberNotFoundException e, HttpServletRequest request) {
|
MemberException.MemberNotFoundException e, HttpServletRequest request) {
|
||||||
log.warn("[MemberNotFoundException] resource :{} ", e.getMessage());
|
log.warn("[MemberNotFoundException] resource :{} ", e.getMessage());
|
||||||
|
|
||||||
String codeName = "NOT_FOUND_USER";
|
String codeName = "NOT_FOUND_USER";
|
||||||
|
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf("BAD_REQUEST"),
|
HttpStatus.valueOf("BAD_REQUEST"),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf("BAD_REQUEST"),
|
HttpStatus.valueOf("BAD_REQUEST"),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.CONFLICT)
|
@ResponseStatus(HttpStatus.CONFLICT)
|
||||||
@ExceptionHandler(DuplicateKeyException.class)
|
@ExceptionHandler(DuplicateKeyException.class)
|
||||||
public ApiResponseDto<String> handlerDuplicateKeyException(
|
public ApiResponseDto<String> handlerDuplicateKeyException(
|
||||||
DuplicateKeyException e, HttpServletRequest request) {
|
DuplicateKeyException e, HttpServletRequest request) {
|
||||||
log.warn("[DuplicateKeyException] resource :{} ", e.getMessage());
|
log.warn("[DuplicateKeyException] resource :{} ", e.getMessage());
|
||||||
|
|
||||||
String codeName = "DUPLICATE_DATA";
|
String codeName = "DUPLICATE_DATA";
|
||||||
|
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf("CONFLICT"),
|
HttpStatus.valueOf("CONFLICT"),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf("CONFLICT"),
|
HttpStatus.valueOf("CONFLICT"),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ExceptionHandler(BadCredentialsException.class)
|
@ExceptionHandler(BadCredentialsException.class)
|
||||||
public ResponseEntity<ApiResponseDto<String>> handleBadCredentials(
|
public ResponseEntity<ApiResponseDto<String>> handleBadCredentials(
|
||||||
BadCredentialsException e, HttpServletRequest request) {
|
BadCredentialsException e, HttpServletRequest request) {
|
||||||
log.warn("[BadCredentialsException] resource : {} ", e.getMessage());
|
log.warn("[BadCredentialsException] resource : {} ", e.getMessage());
|
||||||
|
|
||||||
String codeName = "UNAUTHORIZED";
|
String codeName = "UNAUTHORIZED";
|
||||||
|
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.WARNING,
|
ErrorLogDto.LogErrorLevel.WARNING,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
ApiResponseDto<String> body =
|
ApiResponseDto<String> body =
|
||||||
ApiResponseDto.createException(
|
ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
|
|
||||||
return ResponseEntity.status(HttpStatus.UNAUTHORIZED) // 🔥 여기서 401 지정
|
return ResponseEntity.status(HttpStatus.UNAUTHORIZED) // 🔥 여기서 401 지정
|
||||||
.body(body);
|
.body(body);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
|
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
|
||||||
@ExceptionHandler(RuntimeException.class)
|
@ExceptionHandler(RuntimeException.class)
|
||||||
public ApiResponseDto<String> handlerRuntimeException(
|
public ApiResponseDto<String> handlerRuntimeException(
|
||||||
RuntimeException e, HttpServletRequest request) {
|
RuntimeException e, HttpServletRequest request) {
|
||||||
log.warn("[RuntimeException] resource :{} ", e.getMessage());
|
log.warn("[RuntimeException] resource :{} ", e.getMessage());
|
||||||
|
|
||||||
String codeName = "INTERNAL_SERVER_ERROR";
|
String codeName = "INTERNAL_SERVER_ERROR";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.CRITICAL,
|
ErrorLogDto.LogErrorLevel.CRITICAL,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
|
@ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
|
||||||
@@ -365,36 +365,36 @@ public class GlobalExceptionHandler {
|
|||||||
|
|
||||||
String codeName = "INTERNAL_SERVER_ERROR";
|
String codeName = "INTERNAL_SERVER_ERROR";
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request,
|
request,
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
ErrorLogDto.LogErrorLevel.CRITICAL,
|
ErrorLogDto.LogErrorLevel.CRITICAL,
|
||||||
e.getStackTrace());
|
e.getStackTrace());
|
||||||
|
|
||||||
return ApiResponseDto.createException(
|
return ApiResponseDto.createException(
|
||||||
ApiResponseCode.getCode(codeName),
|
ApiResponseCode.getCode(codeName),
|
||||||
ApiResponseCode.getMessage(codeName),
|
ApiResponseCode.getMessage(codeName),
|
||||||
HttpStatus.valueOf(codeName),
|
HttpStatus.valueOf(codeName),
|
||||||
errorLog.getId());
|
errorLog.getId());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 에러 로그 테이블 저장 로직
|
* 에러 로그 테이블 저장 로직
|
||||||
*
|
*
|
||||||
* @param request : request
|
* @param request : request
|
||||||
* @param errorCode : 정의된 enum errorCode
|
* @param errorCode : 정의된 enum errorCode
|
||||||
* @param httpStatus : HttpStatus 값
|
* @param httpStatus : HttpStatus 값
|
||||||
* @param logErrorLevel : WARNING, ERROR, CRITICAL
|
* @param logErrorLevel : WARNING, ERROR, CRITICAL
|
||||||
* @param stackTrace : 에러 내용
|
* @param stackTrace : 에러 내용
|
||||||
* @return : insert하고 결과로 받은 Entity
|
* @return : insert하고 결과로 받은 Entity
|
||||||
*/
|
*/
|
||||||
private ErrorLogEntity saveErrorLogData(
|
private ErrorLogEntity saveErrorLogData(
|
||||||
HttpServletRequest request,
|
HttpServletRequest request,
|
||||||
ApiResponseCode errorCode,
|
ApiResponseCode errorCode,
|
||||||
HttpStatus httpStatus,
|
HttpStatus httpStatus,
|
||||||
ErrorLogDto.LogErrorLevel logErrorLevel,
|
ErrorLogDto.LogErrorLevel logErrorLevel,
|
||||||
StackTraceElement[] stackTrace) {
|
StackTraceElement[] stackTrace) {
|
||||||
|
|
||||||
Long userid = null;
|
Long userid = null;
|
||||||
|
|
||||||
@@ -408,35 +408,35 @@ public class GlobalExceptionHandler {
|
|||||||
* 만든 CustomUserDetails 타입인가? 체크
|
* 만든 CustomUserDetails 타입인가? 체크
|
||||||
*/
|
*/
|
||||||
if (request.getUserPrincipal() instanceof UsernamePasswordAuthenticationToken auth
|
if (request.getUserPrincipal() instanceof UsernamePasswordAuthenticationToken auth
|
||||||
&& auth.getPrincipal() instanceof CustomUserDetails customUserDetails) {
|
&& auth.getPrincipal() instanceof CustomUserDetails customUserDetails) {
|
||||||
|
|
||||||
// audit 에는 long 타입 user_id가 들어가지만 토큰 sub은 uuid여서 user_id 가져오기
|
// audit 에는 long 타입 user_id가 들어가지만 토큰 sub은 uuid여서 user_id 가져오기
|
||||||
userid = customUserDetails.getMember().getId();
|
userid = customUserDetails.getMember().getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
String stackTraceStr =
|
String stackTraceStr =
|
||||||
Arrays.stream(stackTrace)
|
Arrays.stream(stackTrace)
|
||||||
.map(StackTraceElement::toString)
|
.map(StackTraceElement::toString)
|
||||||
.collect(Collectors.joining("\n"))
|
.collect(Collectors.joining("\n"))
|
||||||
.substring(0, Math.min(stackTrace.length, 255));
|
.substring(0, Math.min(stackTrace.length, 255));
|
||||||
|
|
||||||
ErrorLogEntity errorLogEntity =
|
ErrorLogEntity errorLogEntity =
|
||||||
new ErrorLogEntity(
|
new ErrorLogEntity(
|
||||||
request.getRequestURI(),
|
request.getRequestURI(),
|
||||||
ApiLogFunction.getEventType(request),
|
ApiLogFunction.getEventType(request),
|
||||||
logErrorLevel,
|
logErrorLevel,
|
||||||
String.valueOf(httpStatus.value()),
|
String.valueOf(httpStatus.value()),
|
||||||
errorCode.getText(),
|
errorCode.getText(),
|
||||||
stackTraceStr,
|
stackTraceStr,
|
||||||
userid,
|
userid,
|
||||||
ZonedDateTime.now());
|
ZonedDateTime.now());
|
||||||
|
|
||||||
return errorLogRepository.save(errorLogEntity);
|
return errorLogRepository.save(errorLogEntity);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ExceptionHandler(CustomApiException.class)
|
@ExceptionHandler(CustomApiException.class)
|
||||||
public ResponseEntity<ApiResponseDto<String>> handleCustomApiException(
|
public ResponseEntity<ApiResponseDto<String>> handleCustomApiException(
|
||||||
CustomApiException e, HttpServletRequest request) {
|
CustomApiException e, HttpServletRequest request) {
|
||||||
log.warn("[CustomApiException] resource : {}", e.getMessage());
|
log.warn("[CustomApiException] resource : {}", e.getMessage());
|
||||||
|
|
||||||
String codeName = e.getCodeName();
|
String codeName = e.getCodeName();
|
||||||
@@ -446,11 +446,11 @@ public class GlobalExceptionHandler {
|
|||||||
ApiResponseCode apiCode = ApiResponseCode.getCode(codeName);
|
ApiResponseCode apiCode = ApiResponseCode.getCode(codeName);
|
||||||
|
|
||||||
ErrorLogEntity errorLog =
|
ErrorLogEntity errorLog =
|
||||||
saveErrorLogData(
|
saveErrorLogData(
|
||||||
request, apiCode, status, ErrorLogDto.LogErrorLevel.WARNING, e.getStackTrace());
|
request, apiCode, status, ErrorLogDto.LogErrorLevel.WARNING, e.getStackTrace());
|
||||||
|
|
||||||
ApiResponseDto<String> body =
|
ApiResponseDto<String> body =
|
||||||
ApiResponseDto.createException(apiCode, message, status, errorLog.getId());
|
ApiResponseDto.createException(apiCode, message, status, errorLog.getId());
|
||||||
|
|
||||||
return new ResponseEntity<>(body, status);
|
return new ResponseEntity<>(body, status);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user