이것저것

REST API 정의, 사용 이유 본문

Web

REST API 정의, 사용 이유

nays111 2021. 4. 24. 03:49

1. 정의

"무엇을(a) 어떻게(b) 한다" 로 잘 정의된 API를 REST API라고 한다.

a) 무엇을?

- HTTP URI 로 정의된 리소스

- 리소스는 처리되는 대상을 의미하며, JSON, XML, 그림, 음악, HTML 등 다양한 형태의 형식을 지원한다.

- URI 는 특정 자원의 위치를 나타내는 유일한 주소를 의미하며, 대표적으로 URL 이 있다.

 

b) 어떻게?

Method + Payload로 구성

 

Method 

- REST API 는 리소스의 타입이 뭐든 간에, 리소스에 대한 행위가 일관되게 정의한다. (=같은 메서드에 의해 다뤄진다.)

- Method의 종류는 대표적으로 POST, GET, PUT, DELETE 등이 있다.

- DB CRUD 와 매핑해보면

POST<->CREATE, GET<->SELECT, PUT/PATCH<->UPDATE, DELETE<->DELETE
// ex) 회원 가입
POST http://www.abcd.com/users/newuser

Payload (Method Body)

- URI  와 HTTP 메서드만으론, 어떻게? 라는 행위를 모두 설명할 수 없다.

- 위의 회원가입 POST 요청을 한다했을 때, URI와 HTTP 메서드만으로는 신규 유저의 정보 (id, password)를 표현할 수 없다.

{
	"username" : "abcde",
 	 "age": 20,
}

- 이럴 때, 위와 같은 json 형태의 회원 정보를 같이 요청으로 보낸다.

- 위와 같은 정보 표현 부분을 Payload 라고 한다.


2. REST API 사용 이유

1. Uniform

- REST API는 리소스에 상관 없이 동일한 API 메서드를 갖기 때문에, 단순하다.

  ex) 사진 정보 요청, 동영상 정보 요청을 모두 GET 메서드로 처리 가능

 

2. Self-decriptiive

- REST API 만 봐도 어떤걸 하려는지 쉽게 알 수 있다.

'Web' 카테고리의 다른 글

JWT 란? (Json Web Token)  (0) 2021.05.12
JSON vs XML  (0) 2021.04.29
HTTPS - SSL / TLS  (0) 2021.02.17
Session, Cookie 에 관하여  (0) 2021.02.17
Web Socket  (0) 2021.01.18
Comments