트러블 슈팅

효준·2024년 11월 29일
0

1. 예외 처리 도중 맞지 않는 errorcode 반환

GlobalExceptionHandler를 이용해 예외 처리를 구현 하는 도중에 잘못된 userid 값을 request로 전송하였을 때 400 bad request가 아닌 500 Internal Server Error Exception를 에러코드로 반환하는 것을 발견했다.

원인 추론


Bad request에 대한 예외를 모든 에러를 처리하는 메소드에서 처리하고 있었는데 에러 코드에 대한 부분을 INTERNAL_SERVER_ERROR로 전달하고 있었다.

해결 방안


현재는 Bad request만 발생하는 예외 처리를 해놓았기에 위와 같이 에러 코드를 변경하여 사용하였다.

결과 확인

2. BigDecimal 타입에 NotBlank 사용 불가

Validation 처리 도중 Dto에서 BigDecimal 타입인 amountInKrw 필드에 NotBlank를 적용했을 때 발생했다.

원인 추론


위 사진과 같이 BigDecimal 타입에 NotBlank를 적용하고 API를 호출하였을 때 오류가 발생하였고 NotBlank를 적용하는것이 문제인것 같았다.

해결 방안

NotBlank는 문자열의 null, 공백 여부 등을 검사하기 위한 어노테이션인데 BigDecimal은 숫자연산에 사용되는 타입으로 NotBlnak가 아닌 NotNull을 사용해야한다.

결과 확인

NotBlank -> NotNull로 변경

profile
사진은 캣타워가 생겨 포효하는 고양이입니다.

0개의 댓글

관련 채용 정보