실습을 통해 최종적으로 만들 내용은 다음과 같습니다.
1번 책을 조회하는 요청을 한다면, 결과는 isSuccess, message, result 를 포함하는 JSON 형식의 데이터를 반환합니다. isSuccess는 요청에 대한 성공/실패 여부를, message는 결과에 대한 간단한 설명을, result는 반환값을 담고 있습니다.
만약 존재하지 않는 책의 데이터를 요청한 경우, 400번의 HTTP Status Code와 함께 에러에 대한 내용이 반환됩니다. isSuccess 는 false로, errorCode에는 내부적으로 설정한 에러코드가 담겨있으며, message에는 간단한 설명이 들어있습니다.
2개씩 페이징 시스템에서의 2번 페이지를 요청한 경우, 위와 같은 구조로 5번, 6번 데이터가 반환됩니다.
책 생성 요청의 결과는 위와 같습니다.
책 검증 실패의 경우 400번 상태코드와 함께 위와같이 에러의 내용을 담은 정보를 반환합니다.
위의 사진으로 보여지는 부분은 클라이언트의 입장에서 서버의 반환값이 어떻게 바뀌었나에 대한 결과물입니다. 그러나 이번 시간의 실습은 클라이언트 측면 뿐만 아니라 서버의 측면에서도 많은 기능 추가가 있습니다.
위와 같은 기능들은 Exception을 계층화하여 관리함으로써 얻어질 수 있는 기능들입니다.
이러한 기능들을 추가하기 위해 하나하나 차근차근 개발을 시작해보겠습니다.