회고

20220518 TIL #에러코드 #Exception

paran21 2022. 5. 18. 21:11

어제 로그 작업하면서, 계속 에러는 결국 Enum으로 관리하는게 낫지 않을까 라고 생각했는데

오늘 마침 작업에 대해 논의하다가 이미 우리 회사의 다른 애플리케이션에서처럼 Enum으로 처리하는 것도 좋겠다는 얘기가 나왔다.

에러에 대한 response는 기존에 ApiModel을 사용하던게 있어서 여기에 필요한 변수를 추가해서 수정하였다.

그런데 에러가, 에러로 안 찍히고 200으로 나오는 문제가....!

ResponseStatus도 변경을 해주어야 하는데, 이전에 내가 적용했던 것처럼 ResponseEntity에서 바꿔주는 수도 있고,

그냥 ExceptionHandler에서 해당 에러 처리 부분에 어노테이션으로 처리할 수도 있다.(@ResponseStatus(value = HttpStatus.~~)

 

에러코드로 처리하는 에러들은 현재 모두 400이라서 일단 어노테이션으로 처리했는데...

글쓰고 있는 지금 생각하니 ResponseEntity에 담아서 해당하는 status 값으로 리턴하는게 나을 것 같다.


에러코드에 넣은 메시지를 프론트에서 alert으로 바로 띄우는 작업을 요청받았다.

(사실 이거 진짜 궁금했었다...!)

axios로 err를 catch해서 그 안에 있는 데이터를 꺼내 alert으로 띄우면 된다!

 

프론트 부분을 다른 분이 작업하다 넘겨주셨는데 alert가 제대로 뜨지 않았다.

console을 찍어가며 수정하고 axios를 검색해보니, response.message가 아니라 response.data.message로 해야한다는 사실을 알았다.

정말 사소한 문제였지만, 나름 뿌듯했다!