Home Study | Rest API
Post
Cancel

Study | Rest API

Rest API

목차

  1. REST API가 뭔가요?
  2. REST API의 구성은 어떤 것이 있나요?
  3. REST API를 설계하는데 중요한 것이 있을까요?
  4. HTTP 요청 메서드에 대해서 아는대로 얘기해보세요


1. REST API가 뭔가요?

: REST API란 REST를 기반으로 만들어진 API를 의미

  • Rest : REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미함

    • REST는 HTTP를 기반으로 클라이언트가 서버의 리소스에 접근하는 방식을 규정한 아키텍처

      1. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
      2. HTTP Method(POST, GET, PUT, DELETE, PATCH 등)를 통해
      3. 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미함

    • REST의 특징

      • Server-Client(서버-클라이언트 구조)
      • Stateless(무상태)
      • Cacheable(캐시 처리 가능)
      • Layered System(계층화)
      • Uniform Interface(인터페이스의 일관성)

    • REST의 장점

      • HTTP 프로토콜의 인프라를 그대로 사용하므로 REST API 사용을 위한 별도의 인프라를 구출할 필요가 없음
      • REST API 메시지가 의도하는 바를 명확하게 나타내므로 의도하는 바를 쉽게 파악 가능
      • 서버와 클라이언트의 역할을 명확하게 분리함

    • REST의 단점

      • 표준이 자체가 존재하지 않아 정의가 필요
      • HTTP Method 형태가 제한적
      • 브라우저를 통해 테스트할 일이 많은 서비스라면 쉽게 고칠 수 있는 URL보다 Header 정보의 값을 처리해야 하므로 전문성이 요구됨

2. REST API의 구성은 어떤 것이 있나요?


구성 요소내용표현 방법
자원(resource)자원URI(엔드 포인트)
행위(verb)자원에 대한 행위HTTP 요청 메서드
표현(representations)자원에 대한 행위의 구체적 내용페이로드

3. REST API를 설계하는데 중요한 것이 있을까요?

  1. URI는 리소스를 표현하는데 집중
    • 리소스를 식별할 수 있는 이름은 동사보다는 명사를 사용
    • 리소스 이름에 get 같은 행위에 대한 표현이 들어가서는 안됨
  2. 행위에 대한 정의는 HTTP 요청 메서드를 통해 진행

4. HTTP 요청 메서드에 대해서 아는대로 얘기해보세요


HTTP요청 메서드 종류목적페이로드
GETindex/retrieve모든/특정 리소스 취득x
POSTcreate리소스 생성o
PUTreplace리소스의 전체 교체o
PATCHmodify리소스 일부 수정o
DELETEdelete모든/특정 리소스 삭제x






출처

Rest API
[네트워크] REST API란? REST, RESTful이란?

This post is licensed under CC BY 4.0 by the author.