이것저것

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 복수 글 삭제 처리 특정 글 삭제 처리

/postPOST, 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 : 서버가 다운되었음


참고