새소식

Web Programming

API와 REST API의 개념 | 자바스크립트 예시

  • -
728x90

1.API의 개념과 예시

 

API(Application Programming Interface)서로 다른 소프트웨어나 애플리케이션 간을 연결해 주는 매개체 이자 약속이라고 할 수 있습니다.

만약 스마트폰의 날씨 앱을 이용해 내일의 날씨를 조회한다면, 앱은 날씨 정보를 제공하는 서버에게 정보를 요청해야 하죠. 이때, 앱과 날씨 서버 간의 통신을 도와주는 것이 API입니다.

여기 위 예시에서 API는 규칙을 만들어 '정보를 어떻게 어디로 요청할 것인가 / 응답은 어떻게 어디로 할 것인가' 정의를 내려야 합니다. 

 

API의 작동 모습

2.'API를 작성' 한다는 말의 뜻은?

- 웹 애플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 뜻

- 우리가 작성할 API에서 원하는 데이터를 받아 데이터 베이스에 저장하고, 저장되어 있는 데이터를 읽어서 애플리케이션에 데이터를 제공하는 행위를 통해 사용자가 원하는 목적을 이룰 수 있게 해주는 것

 

3.REST API / RESTful API의 뜻

REST(Representational State Tranfer)는 월드 와이드 웹과 같은 분산 하이퍼미디어 시스템을 위해 네트워크 상에서 자원을 쉽고 명확하게 조작할 수 있게 도와주는 소프트웨어 아키텍처의 한 형식이다. 풀어 말하자면, 사람이 봐도 이해할 수 있도록 자원(Resource)을 정의하고 이 '자원'을 중심으로 표현을 구성하는 원칙을 제공하는 게 REST API의 역할

 

즉 REST API는 HTTP를 통해 웹 서비스 자원에 접근하는 방식을 "REST 아키택쳐" 규칙에 따라 구현된 API라 보면 된다.

 

REST API 출처 : mannhowie.com

쉽게 말하자면, 위 사진처럼, 클라이언트가 프로토콜들 통해 어떤 요청 방식을 사용해서 어떤 URL(Resource)를 서버에 요청할지 정하는 것. 그러면 정리된 방식으로 데이터를 가져오는걸 볼 수 있다.

 

4.REST API의 구성요소

REST API의 구성요소

4.1.자원(Resource) - URL

소프트웨어가 관리하는 모든 것을 자원으로 표현할 수 있습니다. 영화관 사이트라면 영화에 대한 정보를 관리하고 새롭게 업로드하고 지우며 최신화할 수 있어야 합니다.

예를 들어 위 사진 처럼 영화에 관련된 내용은 /movies에서 관리할 수 있는 것이죠.

 

4.2. 행위  - HTTP method

method의 종류를 통해 해당 자원에 대한 행위를 표현할 수 있습니다. 그중 대표적인 것이 GET과 POST 죠.

 

4.3.표현

해당 자원을 어떻게 표현할지에 대한 방법입니다. 보통 JSON, XML 같은 형식을 이용해서 자원을 표현합니다.

HTTP에서는 Content-Type이라는 헤더를 통해 표현 방법을 서술합니다.

 

4.4. REST API 예시 살펴보기

router.get('/books', (req, res) => {
	res.json({ success: true, data: getAllBooks() });
});

위 코드는 /books라는 URL을 통해 전체 책 목록을 불러와 응답해 주는 역할을 하는 API입니다.

HTTP 메서드인 GET은 리소스를 조회하는 역할을 담당하므로, 이 코드는 전체 책 목록을 조회(READ) 하고, 그 결과를 JSON 형식으로 반환합니다. 이렇게 API가 REST API 원칙에 따라 구현되었으므로 이 'API를 RESTful 하다' 볼 수 있습니다.

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.