이것저것
REST API 설계 가이드
jwKim96
2021. 7. 23. 21:29
1. URL 작성시 지켜야할 사항
URL 작성시 아래 규칙을 준수하여 작성하자.
1) _(Underbar) 대신에 -(dash)사용하기
/blog_post (X)
/blog-post (O)
2) 소문자 사용하기
/Blog-Post (X)
/blog-post (O)
3) 가급적 명사를 사용하기
/blog_posting (X)
/blog-post (O)
4) 마지막에 / 로 끝나지 않게 하기
/blog_post/ (X)
/blog-post (O)
2. 기본적인 HTTP Method 제공하기
/post | /post/{post_id} | |
---|---|---|
GET | 전체 글 목록 조회 | 특정 글 조회 |
POST | 405 ERR | 특정 글 추가 |
PUT | 405 ERR | 특정 글 수정 |
DELETE | 복수 글 삭제 처리 | 특정 글 삭제 처리 |
/post
는 POST
, PUT
를 지원하지 않는다고 할때,
405 : 지원하지 않는 메소드라는 HTTP Status
를 반환하기
추가로 OPTION
, HEAD
, PATCH
, 등의 Method를 구현하면
완성도 높은 API를 설계할 수 있다.
3. HTTP Status
의미에 맞는 HTTP Status를 반환하도록 잘 구성하자
1) 성공 : 2xx
200 : 요청 정상적으로 처리함
201 : 새로운 리소스(데이터)가 추가됨
2) 실패 : 4xx
400 : 요청이 잘못되었음
401 : 인증되지 않은 요청(사용자 인증 단계가 필요)
403 : 권한이 없음(인증은 되었으나, 해당 사용자가 권한이 없음)
404 : 서버에 요청한 리소스가 없음
405 : 요청한 HTTP Method를 지원하지 않음
429 : 너무 많은 요청을 보냈음
3) 오류 : 5xx(가급적 사용자에게 나타나지 않는것이 좋음)
500 : 서버 내부 오류
502 : 게이트웨이 오류(게이트웨이, 프록시서버가 정상작동하지 않음)
503 : 서버가 다운되었음
참고
- RESTful API 설계 가이드 : https://sanghaklee.tistory.com/57
- HTTP 상태 코드 : https://ko.wikipedia.org/wiki/HTTP_상태_코드