REST API에 대하여

김건우·2024년 2월 24일

개발 이야기

목록 보기
1/14
post-thumbnail

📌 Rest API에 대한 이야기를 시작하기에 앞서, API가 정확히 뭔지 알고 넘어가자.

🧐 API가 뭔가요?

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

말이 너무 어려우니 쉽게 말하자면, 프로그램 또는 컴퓨터끼리 통신을 하기 위한 규약을 적어놓은 문서이다.

비유를 하자면 점원 같은 역할이다, 손님이 특정 메뉴를 요청하면 점원은 이를 가격표와 형식에 맞게 주방에 주문을 넣어 음식을 가져다 준다.

이처럼 어떤 온라인 서비스를 이용할 때 필요한 정보나 규칙 등을 적어둔 문서라고 생각하면 편하다.

🤓 그렇다면, REST는 뭔가요?

Rest는 Representational State Transfer의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고받는 모든 것을 의미한다.

즉, url을 통해 자원을 명시하고 HTTP Method를 통해 CRUD 작업을 수행하는 것이다.

예) www.youtube.com/watch?id=[자원]

CRUD란 Create, Read, Update, Delete의 약자로 대다수의 프로그램이 수행하는 기본적인 동작을 의미합니다.

Rest는 다음과 같은 3가지의 구성요소로 이루어져 있다.

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

왜 쓰나요?

많은 이유가 있지만, 가장 큰 장점을 두 개 꼽자면 일단 Rest API를 사용했을 때 의도하는 바를 정확하고 빠르게 확인 할 수 있다는 점 그리고 HTTP 표준 프로토콜에 따르는 모든 플랫폼에서 사용이 가능하다는 부분이 있다.

또한 위에서 말했듯이 HTTP 프로토콜을 따르기 때문에 추가적인 인프라 구축이 필요가 없거나, HTTP 프로토콜을 보다 활용적이게 쓸 수 있다는 점도 있겠다.

❗️그럼 REST API는 뭔가요?

이제 이 글의 본론인 Rest API다. Rest API는 쉽게 말해서 REST의 원리를 잘 따르는 API를 뜻한다.

이러한 Rest API를 잘 설계하기 위해서는 아래와 같은 규칙들을 반드시 지켜주어야 한다.

  1. url는 동사보다는 명사를, 대문자보다는 소문자를 사용하여야 한다.
  2. 언더바 "_" 대신 하이폰 "-" 을 사용한다.
  3. 마지막에 슬래시 "/"를 포함하지 않는다.
  4. 파일확장자는 url에 포함하지 않는다.
  5. 행위(HTTP Method)를 포함하지 않는다.

RESTful은 또 뭔가요?

REST의 원리를 완벽히 따르고 규칙을 위배하지 않는 시스템 또는 프로그램을 "RESTful 하다"라고 한다.

즉 Rest API를 사용하였다고 해도 url 규칙을 지키지 않았거나 CRUD를 모두 GET으로만 처리한다면 그 프로그램은 RESTful 하다고 말할 수 없는 것이다.

profile
백엔드 개발자, 김건우입니다.

0개의 댓글