[핵심용어 정리]
▪️ API (Application Programming Interface) → 애플리케이션을 프로그래밍 하기 위한 인터페이스
▪️ REST (Representational State Transfer) API → 웹 서비스에서의 아키텍처 스타일(설계원칙)로, 이를 구현하는 API를 뜻함.
[Rest API 핵심 원칙]
- 자원 중심의 설계 (동사로 표현 x)
- HTTP 메소드의 적절한 사용
- GET : 조회
- POST : 생성
- PUT : 갱신(전체)
- PATCH : 갱신(일부)
- DELETE : 삭제
- URL 형태로 계층적으로 연결 (쿼리 파라미터 사용 지양)
- 무상태성 (stateless) ex) 세션으로 로그인 상태를 저장하는 경우 위반
- 일관된 응답 형식 ex) JSON 형식으로 일관되게 응답
- 적절한 HTTP 상태코드
[RESTful API Endpoint 설계]
- URI에 동사가 포함이 되어선 안된다.
- URI에서 단어의 구분이 필요한 경우 -(하이픈)을 이용한다.
- 자원은 기본적으로 복수형으로 표현한다.
- 단 하나의 자원을 명시적으로 표현을 하기 위해서는 /users/id와 같이 식별 값을 추가로 사용한다.
- 자원 간 연관 관계가 있을 경우 이를 URI에 표현한다.
[API URL 설계]