티스토리 뷰


  RESTful Service를 개발하면서 사용자( consumer ) 에게 서버족의 예외상황이나 에러코드에 대해 어떻게 처리해줘야 하는지 간단하게 정리해보고자 한다.

  REST 이론에서 가이드하는 방식도 있지만, RESTful 서비스 취지대로 Consumer 가 얼마나 편리하고 간편하게 서버의 자원을 이용할수 있도록 가이드하는게 제일 우선이라고 말할수 있겠다. 그럼 먼저 RESTful 에서 권장하는 방법에 대해서 간략하게 소개하고 그 다음 이를 어떻게 편리하게 사용할 수 있도록 구현하는지에 대해 알아 보도록 하자.


1. REST 이론

  - 인증실패나 parameter 실패등이 발생했을때는 HTTP Header 의 Status 값을 이용하여 응답을 주라고 하고 있다. 예를 들어 인증실패의 경우 401 코드, 400 코드는 Bad Request Parameter 등의 코드로 Consumer 쪽에 알려주도록 안내하고 있다.

2. 추천방법

  하지만, 위에 설명했던 방법으로는 멀티디바이스 환경 즉, Consumer가 어떤 환경에서 서버측 자원을 이용하기 위해 접근하는지 모르기 때문에 지극히 웹서비스적 접근인거 같다. 따라서 다음과 같은 방법을 조심스럽게 추천해 본다.

  HTTP 응답헤더에 Status 는 200 으로 내려주도록 한다. 단, 해당 에러에 대해 Data 부에 에러코드 종를 Define 하고 이를 REST 서비스를 사용하는 Consumer 쪽에 문서로 알려주는걸 추천 드린다.  무엇보다도 Consumer 측에서 어떤 에러인지 상세히 할수 있고 응답데이터 값을 이용하여 적저한 처리를 하도록 유도하는 바법을 추천드린다.

  현재 다음 DNA개발자 네트워크(http://dna.daum.net/) 제공하는 오픈 API의 경우도 위에 말한 방법과 같이 표준에러코드를 정의하여 개발자에게 제공을 하고 있다. 

  - 다음 오픈API 표준에러코드 >> http://dna.daum.net/apis/errors


댓글
댓글쓰기 폼