일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Keys
- DP
- branch
- outer join(외부 조인)
- trie
- string
- HTTP
- localstorage
- PROJECT
- 그리디
- 트라이
- ccw 알고리즘
- MySQL
- Prisma
- 자바스크립트
- JavaScript
- insomnia
- Next
- html5
- Express.js
- ERD
- router
- 백준 10775번
- MongoDB
- pm2
- 이분 탐색
- map
- 게임 서버 아키텍처
- 그래프 탐색
- Github
- Today
- Total
dh_0e
[Node.js] 강의 내용 개념 정리(5) (API, REST API, Routing, API Client) 본문
[Node.js] 강의 내용 개념 정리(5) (API, REST API, Routing, API Client)
dh_0e 2024. 5. 15. 21:41API (Application Programming Interface)
- 서로 다른 소프트웨어나 어플리케이션 간을 연결해주는 매개체이자 약속
- 정해진 규칙(request, response 형식)에 따라 서버에 정보를 요청하는 역할을 담당
- 서로 다른 시스템 간의 통신을 할 수 있게 해주는 중개자의 역할
API를 작성한다: 프론트엔드에서 원하는 기능을 수행하는 URL과 인터페이스를 제공한다.
- 우리가 작성할 API에서 원하는 데이터를 받아 데이터베이스에 데이터를 저장하고, 저장되어 있는 데이터를 읽어서 웹 어플리케이션(프론트엔드)에 데이터를 제공하는 행위를 통해 사용자가 원하는 목적을 이룰 수 있게 해야함
REST API
- "Representational State Transfer"의 줄임말
- URL, Headers, Method 등 네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의
- HTTP를 통해 웹 서비스의 자원에 접근하는 방식을 "REST 아키텍쳐"의 규칙을 따라 구현된 API
- REST 아키텍쳐: 리소스를 사람이 알기 쉽게 정의하고 이를 중심으로 표현을 구성하는 원칙을 제시
REST API의 구성 요소
1. 자원(Resource) - URL
- 우리가 만들 소프트웨어가 관리하는 모든 것을 자원(Resource)으로 표현할 수 있음. ex) /goods, /carts
2. 행위 - HTTP method
- GET, POST 등의 HTTP method를 사용하여 해당 자원에 대한 행위를 표현
ex) CRUD
Create: 생성(POST)
Read: 조회(GET)
Update: 수정(PUT), (PATCH)
Delete: 삭제(DELETE)
- 필수적은 아님
3. 표현
- 해당 자원을 어떻게 표현할지에 대한 방법.
- 보통 JSON, XML같은 형식을 이용해서 자원을 표현함
- HTTP에서는 Content-Type이라는 헤더를 통해 표현 방법을 서술
RESTful API

Routing
- 클라이언트의 요청 조건(HTTP 메서드, URL 등)에 대응해 응답(Response)하는 방식
Router: 클라이언트의 요청을 쉽게 처리할 수 있게 도와주는 Express.js의 기본 기능중 하나
- router.METHOD(PAHT, HANDLER); 의 구조
구성 요소
router: Express.js의 라우터를 정의하기 위해 사용
METHOD: HTTP Method를 나타냄 ex) get, post, put, patch, delete ...
PATH: 실제 서버에서 API를 사용하기 위한 경로 ex) /users, /carts ...
HANDLER: 라우트가 일치할 때 실행되는 함수
API Client
- 개발단계에서 작성한 API의 요청을 확인하거나 테스팅할 때 도움을 주는 툴
- 이를 사용함으로서 개발 속도를 높이거나 잘못된 API 요청으로 인한 치명적인 에러를 예방할 수 있음
- 대표적으로 Postman, Insomnia가 있으며 API 요청을 손쉽게 구성하고 응답을 직관적으로 확인할 수 있음.

'내일배움캠프 > Node.js[입문]' 카테고리의 다른 글
[Node.js] 강의 내용 개념 정리(7) (Database, MongoDB, mongoose) (0) | 2024.05.16 |
---|---|
[Node.js] 강의 내용 개념 정리(6) (Request, Response) (0) | 2024.05.15 |
[Node.js] 강의 내용 개념 정리(4) (웹 프레임워크, Express.js, Module) (0) | 2024.05.15 |
[Node.js] 강의 내용 개념 정리(3) (Package, Package Manager - npm, yarn) (0) | 2024.05.15 |
[Node.js] 강의 내용 개념 정리(2) (Node.js, 논 블로킹 I/O, 싱글 스레드, 이벤트 루프) (0) | 2024.05.14 |