less than 1 minute read

REST한 API?

프로젝트를 진행하면서, Back-end단에서 API 문서를 작성하며

‘REST한 API!’ 라는 말을 자주 썼다.

그렇다면, REST한 API라는 것을 정확히 알고 사용한 것일까?

REST한 API라는 희미했던 개념을 이번 블로깅을 통해 정리해보자.

REST ⇒ Representational State Transfer의 약자

아니, 그럼 Representational State Transfer가 뭔데? 라는 생각이 절로 든다.

풀어보면, ‘자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것’ 을 말한다.

즉, REST란

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

(CRUD Operation → Create, Read, Update, Delete)

REST의 구성 요소

  1. 자원 (Resource) : HTTP URI
  2. 자원에 대한 행위 (Verb) : HTTP Method
  3. 자원에 대한 행우의 내용 (Representations) : HTTP Message Pay Load

결국 REST한 API란?

REST의 원리를 따르는 API를 의미한다.

이 원리는 아래와 같은 규칙을 따라야 한다.

  1. URI는 동사가 아닌 명사를 사용하고, 대문자가 아닌 소문자를 사용한다.
 http://api.puddle.com/Walking
 http://api.puddle.com/walk
  1. 언더바 대신 하이픈을 사용한다.
 http://api.puddle.com/my_pet
 http://api.puddle.com/my-pet
  1. 마지막에 슬래시(/)를 넣지 않는다.
 http://api.puddle.com/pet/
 http://api.puddle.com/pet
  1. 파일 확장자는 URI에 포함하지 않는다.
 http://api.puddle.com/pama.jpg
 http://api.puddle.com/pama
  1. 행위를 포함하지 않는다. (Method로 전달 한다.)
 http://api.puddle.com/go-post/1
 http://api.puddle.com/post/1

위와 같이 REST API의 규칙을 따라 설계한 API를 REST한 API라고 말할 수 있다.

Updated: