API와 REST API의 개념
목표
1. API와 REST API가 어떠한 역할을 담당하는지 이해한다.
2. Express.js의 Routing이 어떻게 이뤄지는지 이해한다.
3. Insomnia API Client를 설치하고, API를 테스트 해본다.
1. API(Application Programming Interface)란?
서로 다른 소프트웨어나 어플리케이션 간을 연결해주는 매개체이자 약속이라고 볼 수 있습니다.
사용자는 API를 통해 서버에 요청(Request) 하고,
서버는 이 요청을 처리한 뒤, API를 통해 반환(Response) 합니다.
이렇게 API는 서로 다른 시스템 간의 통신을 할 수 있게 해주는 중개자의 역할을 담당합니다.
2. 우리가 API를 작성한다는 의미는?
1. 웹 어플리케이션(프론트엔드)에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다는 의미
2. 우리가 작성할 API에서 원하는 데이터를 받아 데이터베이스에 데이터를 저장하고, 저장돼 있는
데이터를 읽어서 웹 어플리케이션(프론트엔드)에 데이터를 제공하는 행위를 통해 사용자가 원하는
목적을 이룰 수 있게 해야 합니다.
3. REST(Representation State Transfer) API는 어떤 의미를 갖는 API인가?
REST(Representation State Transfer)의 줄임말로 URL, Headers, Method 등
네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의한 것 입니다.
또한, "REST 아키텍쳐"는 사람이 봐도 쉽게 이해할 수 있도록 "자원(Resource)"을
정의하고 이 "자원"을 중심으로 표현을 구성하는 원칙을 제시합니다.
REST API는 HTTP를 통해 웹 서비스의 자원에 접근하는 방식을
"REST 아키텍쳐"의 규칙을 따라 구현된 API라고 생각하면 됩니다.
4. REST API의 구성 요소
1) 자원(Resource) - URL
- 우리가 만들 소프트웨어가 관리하는 모든 것을 자원(Reource)로 표현할 수 있습니다.
ex) 상품(Goods), 장바구니(Carts)
상품(Goods)는 /goods URL로 사용할 수 있고,
장바구니(Carts)는 /carts로 사용할 수 있습니다.
2) 행위 - HTTP method
Create : 생성(POST)
Read : 조회(GET)
Update : 수정(PUT), (PATCH)
Delete : 삭제(DELETE)
→ CRUD(Create Read Update Delete)라 부릅니다.
3) 표현
- 해당 자원을 어떻게 표현할지에 대한 방법으로,
JSON, XML 같은 형식을 이용해서 자원을 표현합니다.
- HTTP에서는 Content-Type 이라는 헤더를 통해 표현 방법을 서술합니다.
5. REST API 예시
"/books" 라는 URL을 통해 전체 책 목록을 불러와 응답해 주는 역할을 하는 API
Http 메서드인 GET은 리소스를 조회하는 역할을 담당하므로,
이 코드는 전체 책 목록을 조회(Read)하고, 결과를 JSON 형식으로 반환합니다.
'Node 강의 > 입문' 카테고리의 다른 글
1-12 API Client 학습 (0) | 2024.09.01 |
---|---|
1-11 Roution 이해 및 Router 학습 (0) | 2024.09.01 |
1-9 ES6 Module 시스템 알아보기 (0) | 2024.08.30 |
1-8 Express.js로 백엔드 서버 구현 (0) | 2024.08.30 |
1-7 Express.js 프레임워크 (0) | 2024.08.30 |