본문 바로가기
IT KNOWLEDGE

REST API, RESTful API란?

by madinthe90 2022. 1. 20.
반응형

REST 정의

REST(Representational State Transfer)의 약자,

자원을 이름으로 구분해 해당 자원의 정보를 주고받는 모든 것을 의미한다.

REST 구성요소

자원(RESOURCE) : URI

행위(Verb) : HTTP METHOD

표현(Representations)

 

즉, REST란

  • HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
  • HTTP Method(POST, GET, PUT, DELETE)를 통해
  • 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미합니다.

CRUD Operation

CRUD는 Create(생성), Read(읽기), Update(갱신), Delete(삭제).

REST에서의 CRUD Operation 동작 예시

Create 데이터 생성(POST)
Read 데이터 조회(GET)
Update 데이터 수정(PUT)
Delete 데이터 삭제(DELETE)

REST의 특징

  1. Server-Client(서버-클라이언트 구조)
  2. Stateless(무상태)
  3. Cacheable(캐시 처리 가능)
  4. Layered System(계층화)
  5. Uniform Interface(인터페이스 일관성)
  6. Self-Descriptiveness(자체표현)

REST API 정의

RESPT API란 REST의 원리와 특징을 기반으로 구현한 API를 의미.

REST API를 올바르게 설계하기 위해서는 지켜야 하는 규칙이 있다.

REST API 설계 예시

1. URI는 동사를 사용하지 X, 명사 사용 O

그리고 대문자보다는 소문자를 사용하여야 한다.

X : http://madinthe90/getUser/
O : http://madinthe90.com/user/  

 

2. 슬래시(/)로 계층관계를 표현하지만

URI 마지막에 슬래시 (/)를 포함하지 않는다.

X : http://madinthe90.com/user/  
O : http://madinthe90.com/user

 

3. 가독성을 위한 하이픈(-)을 사용 O, 언더바(_) 사용하지 X,

X : http://madinthe90.com/user_list
O : http://madinthe90.com/user-list

 

4. 파일확장자는 URI에 포함하지 않는다.

X : http://madinthe90.com/image.png  
O : http://madinthe90.com/image  

 

5. 행위를 포함하지 않는다.

X : http://madinthe90.com/get-post/1  
O : http://madinthe90.com/post/1  

 


RESTful 정의

RESTful이란 REST의 설계 규칙을 잘 따라서 설계된 API를 말한다.

 

그러므로

REST API의 설계 규칙을 잘 지키지 않은 API는 REST API를 사용했지만 RESTful 하지는 못한 API라고 할 수 있다.

 


 

참고

반응형

댓글