RESTful API를 알아보자

강종연·2021년 5월 16일
0

FrontEnd

목록 보기
1/6

Rest? Restful? 웹 개발을 하다보면 이런 단어들이 스멀스멀 나오기 시작한다. API는 어느정도 이해를 했지만 Rest에 대해서는 개념이 제대로 적립되지 않았다. 이 글을 적어보면서 확실한 개념을 가져가고자 한다.

우선 API란?

API는 Application Programming Interface의 약어로 응용 프로그램에서 사용할 수 있도록, 운영 체제나 프로그래밍 언어가 제공하는 기능을 제어할 수 있게 만든 인터페이스를 뜻한다.

우리가 공모전을 하거나 공공데이터를 이용할 일이 생긴다면 API를 활용할 일이 대부분일 것이다. 이 때 어떠한 곳에서 데이터를 쓰고 제어할 수 있도록 제공하는 기능을 하는 것이 API이다.

REST API? RESTful API?

둘 다 비슷한 말이다. Representational State Transfer의 약어인 REST는 웹의 장점을 최대한으로 활용할 수 있는 아키텍쳐로 HTTP프로토콜을 의도에 맞게 설계하도록 유도하고 있다. 이 규칙을 잘 지켜나간 것을 RESTful이라고 표현한다.
HTTP의 중심요소이자 웹 개발의 행위는 CRUD(Create, Replace, Update, Delete)이다. 이 행위 4가지가 웹 개발의 전부라고 할 수도 있다. 이 CRUD를 잘 맞춰나가는 간다면 여러분들도 RESTful하게 설계 및 제작하였다고 말을 할 수 있다.

REST의 구성은?

그러면 REST는 어떻게 구성이 되어있을까?
다음 3개로 구성되어져 있다.

  • Resource(URI)-자원
  • Verb(HTTP Method)-자원에 대한 행위
  • Representations(HTTP Mehod Pay Load)-자원에 대한 행위 내용

Resource?

REST API에서 주요한 정보는 리소스라고 하는데 우리가 일반적으로 교환하는 모든 정보를 뜻한다.

HTTP Method?

REST가 HTTP의 프로토콜을 알맞게 설계하도록 유도한다면 어떤 형식으로 유도를 할까? 자원에 대하여 CRUD를 할 수 있게 하는 HTTP Method를 살펴보자.

MethodAction행위
GETlist, read모든 or 특정한 데이터 조회
POSTwrite데이터 생성
PUTreplace데이터 전체 교체
PATCHupdate데이터 일부 수정
DELETEremove데이터 삭제

위의 메서드를 토대로 웹 개발을 해나간다면 RESTful하게 개발을 할 수 있다.

글을 마무리 하며

오늘은 REST API에 대해 알아보았다. 웹 개발에서 REST가 필수적인 요소는 아니나, 쓸 상황이 앞으로도 많을 것이라 예상된다. 상황에 맞게 적절하게 써야할 것이다.

API 이미지 출처 : https://www.cloudways.com/blog/comprehensive-introduction-rest-api/

profile
TypeScript, Next.js를 좋아하는 프론트엔드 개발자입니다:)

0개의 댓글