본문 바로가기

백엔드

REST API#1

반응형

오늘은 REST API에 대해서 알아보려고 한다.

 

만약, 회원가입을 한다고 가정할 때,

한국은 GET을 쓰고, 미국은 POST를, 인도는 PATCH를 쓴다고 가정하자.

이렇게 세계별로 다르다면 우리 사용자는 모든 규칙을 다 외워야 하는 번거로움이 있다.

 

이에 대한 공통을 추구하게 되는데, 이게 REST API이다.

REST API는 이름을 짓는 고민, 이름을 짓는 약속이라고 보면 된다.

REST: 지속 가능한

 

1. 일단 API가 뭘까?

Application Program Interface로 우리가 사용하는 라이브러리, 함수, 뷰 등이 포함된다.

인터페이스를 생각하면, UI(사용자와 컴퓨터 간의 중간, 즉 OS)도 있고, GUI, CUI 등 다양한 I를 들어볼 수 있다.

 

이를 비유하자면, '사람과 엘리베이터' 간의 관계를 생각하면 될 것 같다.

엘리베이터를 오고 가게 하려면 그 중간엔 버튼이 필요하다.

그 '버튼'이 인터페이스의 역할을 해준다고 보면 된다.

이러한 인터페이스가 웹앱에서 작용한다고 해서

어플리케이션 프로그램 인터페이스로 이해하면 쉽다.

 

2. REST

그럼 이제 REST에 대해서 본격적으로 보자.

REST -> '리소스,메서드,메세지' 로 구성되어 있다.

 

메서드 의미 Idempotent
POST 생성 no
GET 조회 yes
PUT 수정 yes
PATCH 일부 수정 yes
DELETE 삭제 yes

idempotent는 여러번 수행해도 결과가 같은 경우를 의미한다.

예를 들어 이 포스팅이 조회수가 계속 바뀌는 API가 있다면,

http://메서드는 Idempotent 하다고 볼수 없고, 조회하다가 실패하였을 때는 올라간 조회수를 다시 -1로 빼줘야 한다. 즉 Idempotent 하지 않은 메서드에 대해서는 트렌젝션에 대한 처리가 별다른 주의가 필요하다.

 

 

반응형