[핵심용어 정리]

▪️ API (Application Programming Interface) → 애플리케이션을 프로그래밍 하기 위한 인터페이스

▪️ REST (Representational State Transfer) API → 웹 서비스에서의 아키텍처 스타일(설계원칙)로, 이를 구현하는 API를 뜻함.

[Rest API 핵심 원칙]

  1. 자원 중심의 설계 (동사로 표현 x)
  2. HTTP 메소드의 적절한 사용
    1. GET : 조회
    2. POST : 생성
    3. PUT : 갱신(전체)
    4. PATCH : 갱신(일부)
    5. DELETE : 삭제
  3. URL 형태로 계층적으로 연결 (쿼리 파라미터 사용 지양)
  4. 무상태성 (stateless) ex) 세션으로 로그인 상태를 저장하는 경우 위반
  5. 일관된 응답 형식 ex) JSON 형식으로 일관되게 응답
  6. 적절한 HTTP 상태코드

[RESTful API Endpoint 설계]

  1. URI에 동사가 포함이 되어선 안된다.
  2. URI에서 단어의 구분이 필요한 경우 -(하이픈)을 이용한다.
  3. 자원은 기본적으로 복수형으로 표현한다.
  4. 단 하나의 자원을 명시적으로 표현을 하기 위해서는 /users/id와 같이 식별 값을 추가로 사용한다.
  5. 자원 간 연관 관계가 있을 경우 이를 URI에 표현한다.

[API URL 설계]