친구들과 스터디를 하던 중 api 네이밍을 정리해 오라는 숙제를 받았아...! 지금부터 시~작
Representational State Transfer의 약자로 웹에서 효율적으로 관리하고 상호작용하는 아키텍처 스타일을 말한다.
REST API는 HTTP 프로토콜을 기반으로 리소스를 URI(Uniform Resource Identifier)로 표현하고, HTTP 메서드를 사용하여 조작하는 방식이다.
👍
GET/users
POST/users
👎
GET/getUser
POST/createUser
👍
GET/users
👎
GET/Users
GET/UserList
두개의 단어를 합성할 경우
👍
GET/user-list
👎
GET/user_list
👍
GET/users
👎
GET/user
POST/users : 사용자 생성
GET/users : 사용자 목록 조회
GET/users/{:id} : 특정 사용자 조회
PUT/users/{id} : 사용자 전체 수정
PATCH/users/{id} : 사용자 일부 수정
DELETE/users/{id} : 사용자 삭제
👍
GET/users/{id}/orders : 특정 사용자의 주문 목록
GET/users/{id}/orders/{order_id} : 특정 주문 상세 조회
계층 구조 장점
👎
GET/users/get-all-users
GET/users?role=admin : 관리자 사용자 조회
GET/products?sort=price&order=desc : 가격순 정렬
GET/articles?page=2&size=10 : 페이지네이션
200 : OK → 정상 응답
201 : Created → 생성 성공
204 : No Content → 응답 본문 없음
400 : Bad Request → 잘못된 요청
401 : Unauthorized → 인증 실패
403 : Forbidden → 권한 없음
404 : Not Found → 리소스 없음
500 : Internal Server Error → 서버 오류
상태코드(Status Code)를 사용하는 이유
RESTful API에서 상태 코드를 올바르게 사용해야 클라이언트가 서버 응답을 정확하게 이해하고, 적적한 조치를 취할 수 있다.
*RESTful API란 REST 원칙을 준수하는 API를 말한다.