You are a developer, not a coder.

REST API에 대해서 본문

Development Basic

REST API에 대해서

Mattmk 2020. 2. 5. 09:42
SMALL

1. REST API 란?

API (Application Programming Interface)란?

  • 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진, 서로 정보를 교환 가능 하도록 하는 것.

REST API의 정의

  • REST 기반으로 서비스 API를 구현한 것.
  • 최근 Open API, MSA 등을 제공하는 업체 대부분은 REST API를 제공.

2. REST API 특징

  • REST 기반으로 시스템을 분산해 확장성과 재사용성을 높여 유지보수 및 운용을 편리하게 할 수 있다.
  • REST는 HTTP 표준을 기반으로 구현 됨으로 HTTP를 지원하는 프로그램 언어로 클라이언트, 서버를 구현할 수 있다.
  • REST API를 제작하면 특정 서버사이드스크립트 언어를 가리지 않고, 개발을 할 수 있다.

3. REST API 설계 기본 규칙

Resource 원형

  • 도큐먼트 : 객체 인스턴스나 데이터베이스 레코드와 유사한 개념
  • 컬렉션 : 서버에서 관리하는 디렉터리라는 리소스
  • 스토어 : 클라이언트에서 관리하는 리소스 저장소

(1) URI는 정보의 자원을 표현해야 한다.

  • Resource는 동사보다는 명사를 대문자보다는 소문자를 사용해야 한다.
  • Resource의 도큐먼트를 이름으로 단수 명사를 사용해야 한다.
  • Resource의 컬렉션 이름으로 복수 명사를 사용해야 한다.
  • Resource의 스토어 이름으로는 복수 명사를 사용해야 한다.

   * Ex) GET /User/info  ---> GET /users/info

   * 단수명사 : "요리사 한 명", "연필 한 자루"와 같이 명사의 갯수가 한 개인 것을 가리켜 단수 명사라고 한다.

   * 복수명사 : 둘 이상의 사람이나 사물 따위를 나타내는 명사이다.

 

  • 동사말고 명사 사용
  • 상태를 변경할 때 GET 메서드와 쿼리 파라미터 사용금지
  • 복수 명사 사용
  • 관계 형태는 하위 리소스를 사용
  • 직렬화 포맷에는 HTTP 헤더 사용
  • HATEOAS 사용
  • 결과반환 리스트에 필터링, 정렬, 결과요소 선택, 페이징 기능을 제공하기
  • API 버전 관리
  • HTTP 상태 코드로 에러 핸들링
  • HTTP 메서드 오버라이딩 허용
LIST

'Development Basic' 카테고리의 다른 글

Heap에 대해서  (0) 2020.05.28
Stack에 대해서  (0) 2020.05.28
AWS DynamoDB [StreamViewType]  (0) 2020.02.25
REST에 대해서  (0) 2020.02.03
NOSQL Modeling 기본 개념  (0) 2020.01.31
Comments