개발자

RESTAPI 오류 처리는 어떻게 하시나요?

2023년 09월 13일조회 137

안녕하세요. RESTAPI를 설계하면서 궁금한 점이 있습니다. 서버에서 유저의 인풋이나 서버 자체의 문제로 Response status가 404 혹은 500 등 여러가지 값으로 설정 됩니다. 이때, 에러메시지는 다들 어떻게 작성하시나요? 가끔 타 API를 보면 ``` { "code": "001", "message": "USER_INPUT_INVALID", } ``` 와 같은 형태 입니다. 에러 메시지를 표준화 하고 싶은데 다들 어떤 기준으로 에러 메시지를 작성하시는지 궁금합니다. 또 React와 같은 프론트 엔드에서 이러한 형태의 에러는 어떻게 처리 하시는지 궁금합니다.

1{
2    "code": "001",
3    "message": "USER_INPUT_INVALID",
4}
이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

프레드윰님의 프로필 사진

저는 status, error, data, message 4가지로 구성해서 만들어요 보통 이렇게 한다고 하는데 맞는진 모르겠네요~

장성호님의 프로필 사진

저도 오류 처리는 코드랑 메세지 정도만 담아주는 편입니다. 프론트에서 더 필요하다고 하는거 있으면 그때가서 도입하는 정도..? 1. 에러 코드 규격 결정 (상태코드, 에러코드, 에러메세지) 2. 에러 코드 규격을 interface로, 구현은 enum으로 헤서 모든 개발자가 똑같은 에러 내용을 보내 줄 수 있도록 하기 3. “예외 발생 시 응답”이라는 관심사를 중앙 집중으로 처리할 수 있는 ExceptionHandler 만들기 (프론트) 3-1. Axios API Interceptor로 에러 핸들링해서, 필요한 로직 적기 (ex: jwt 토큰이 만료되면 로그인 페이지로 라우팅) (서버) 3-2. Controller, Service 등의 layer에서는 에러가 필요할 때, 예외 발생시키고 예외 안에다가 에러 코드만 잘 담아주기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!