API와 REST API

Younha Lee·2026년 1월 13일

TIL

목록 보기
10/61

API, REST API

API란?

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

인터페이스란?

상호 작용이라는 의미를 가지는 이 단어는'서로 다른 두 개의 시스템, 장치 사이에서 정보나 신호를 주고받는 경우의 접점이나 경계면'이라는 의미에요.
장치를 이어주는 그런 다리의 역할을 한다고 이해하면 편합니다.

API는 클라이언트와 서버의 관계를 보면 이미 개발되어 있는 다른 기능을 URL(주소)를 통해 이어주고 있다고 할 수 있어요.
예를 들면 네이버가 아닌 개인이 개발한 지도 앱에 지도가 보이는 경우 네이버 지도의 API를 사용한 경우라고 볼 수 있어요.

REST API란?

REST API는 REST를 기반으로 하는 API에요.

REST란? Representational State Transfer의 약자로 WWW와 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식이에요.
6가지 제한 조건(기본 원칙)을 가지고 있어요

REST API를 작성하는 규칙

  • 소문자
  • _(언더바) 대신 -(하이픈) 사용
  • /(슬래쉬)는 계층 관계를 나타내는 데 사용되며, 주소 마지막에는 /(슬래쉬) 없음
    행위(목적, CRUD 함수명)를 포함하지 않는다. ex) 'get/products'(x) , '/products'(o)
  • 파일 확장자 사용하지 않기
  • 명사는 복수형

RESTful API는 REST의 규칙을 더 엄격하게 지키는 것을 의미합니다.

HTTP Method

HTTP에는 요청을 구분하기 위한 몇 가지 Method가 있어요.

GET : 리소스 표시(조회) 요청
POST : 새로운 리소스 생성 요청
PUT : 리소스 없는 경우 생성, 있는 경우 갱신 요청
DELETE : 리소스 삭제 요청

URL


지난 시간에 URL은 위치를 알려주기 위한 것이었습니다.
오늘은 URL을 통해 해당 주소의 목적을 살펴볼 수 있습니다.
예를 들어 티스토리의 경우 URL을 살펴보면 'mkwip.tistory.com
'입니다. mkwip.tistory.com은 해당 블로그의 위치를 알려주고, 그 이후에 나오는 536를 통해 글을 구분해서 요청을 해요.
536이 지난 실습의 /orderlist처럼 특정한 목적을 가진다는 의미입니다.

API 설계 (실습)

API 설계란 만들려고 하는 페이지를 보고 해당 페이지에 어떤 API가 필요할지 생각해 보고 그에 맞게 설계하는 것이에요
쇼핑몰 페이지를 만들어볼게요

  • 쇼핑몰 목록 불러오기: GET /products
  • 물품 정보 불러오기: GET /products/:id
    물품을 불러오는 경우 /product1, /product2로 불러올 수 있지만, 물품의 수가 많아지는 경우 곤란하게 돼요.
    그러니 물품에 id를 부여하고 해당 id를 통해 정보를 불러오는 게 확장에 용이해요. 지난 시간에는 쿼리 스트링(?id=1)을 활용했습니다.
  • 물품 삭제하기 DELETE /products/:id
    URL이 같아도 HTTP Method가 다르면 다른 요청이에요.
profile
할 땐 하고 놀 땐 노는 일일놀놀입니다.

0개의 댓글