높은 퀄리티로 REST API 작성 하기 By starseat 2024-04-30 13:33:38 Etc Post Tags 이미 많은 분들이 아는 내용이지만 [Creating a High-Quality REST API](https://blog.stackademic.com/creating-a-high-quality-rest-api-201819325356) 란 제목으로 작성된 좋은 블로그 글이 있어 공유 하고자 블로그를 작성하였습니다. 요약하면 다음 내용이 됩니다. (1) API 는 복수 명사 사용하기 - 단건 조회도 `GET /book/{book_id}` 가 아닌 `GET /books/{book_id}` (2) REST API 경로 세그먼트에 따라 데이터베이스를 모델링하지 않기(?) - DB 구조에 따라 API URL 정하지 말기 - `/authors/{author_id}/books/{book_id}` 와 같은 경로가 아닌 `/books/{book_id}` 로 하기 (3) 배열읠 초상위 응답으로 하지 않기 - 응답은 배열이 아닌 객체로 하기 - 응답을 `[{data1}, {data2}, ...]` 형태가 아닌 `{data: {data1}, {data2}, ...]}` 형태로 하기 (4) 식별자는 문자열로 사용하기 - 'id' 로 사용하는 값이 db 의 sequence 일 경우라도 숫자가 아닌 문자열로 사용하기 - `{"id": 456}` 이 아닌 `{"id": "456"}` 으로 사용하기 (5) "**NOT Found**" 를 위해 404 사용하지 않기 - 404 는 다양한 이유로 발생할 수 있음. - 리소스를 찾을 수 없을 경우를 나타내는데 이왕이면 `서버가 요청을 이해하고 처리하려 했지만 대상을 찾을 수 없다` 라는 내용을 포함할 수 있도록 하기 위함임. (6) 구조화된 오류 형식 사용하기 - 오류 메시지, 오류 유형, 원인 등으로 구조화 하기 Previous Post [etc] 메모 프로그램 소개 (작성중) Next Post [cafe24] http -> https 로 리다이렉트 시키기