API(Application Programming Interface)란?

: 애플리케이션 간에 자료를 주고받으면서 특정 기능을 실행하는 인터페이스
- ex) SNS애플리케이션 안에는 사용자 로그인을 위한 API, 게시물을 작성하는 API, 댓글 작성 API 등이 존재
- 소셜 로그인 기능 —> 공개 API 활용!
→ API는 둘 이상의 컴퓨터 혹은 애플리케이션 간에 자료를 어떻게 주고받는지 지정하는 역할 !
RESTful API
: HTTP 프로토콜을 활용해서 자료를 주고받기 위해 약속된 구조

- REpresentational State Transfer의 줄임말 → 데이터의 현재 상태를 볼 수 있게 나타낸 것을 뜻함. ex) 장바구니에 어떤 상품을 담았는지 상태를 주고받을 때 사용하는 것, REST
RESTful 원칙
: RESTful API에서 주고받을 자원의 위치는 URL을 사용해 표현한다.
- 자원이란? 데이터베이스 자료 뿐만 아닌 웹 서버에 올라와 있는 모든 이미지나 멀티미디어 등

- 자원 이름은 명사형으로 알파벳 소문자를 사용한다.
- 자원 이름으로 단어를 2개 이상 사용한다면 붙임표(-)로 연결하거나 카멜 표기법을 사용한다.
ex) https://github.com/microsoft/vscode-docs
https://comic.naver.com/bestChallenge - 자원 간에 계층이 있다면 슬래시(/)로 구분하되 URLl 끝에는 슬래시를 붙이지 않습니다.
ex) https://v.daum.net/channel/90/home - 자원을 처리하는 방법을 URL에 포함시키지 않는다.
- ex) loccalhost:3000/contacts (o)
locatlhost:3000/get-contacts (x)
HTTP로 요청 방식 처리하기
: 자원을 어떻게 처리할 것인지는 HTTP 요청 방식으로 표현한다.
HTTP 요청 방식 역할 설명
| HTTP 요청 방식 | 역할 | 설명 |
| POST | Create | 자원을 새로 만든다. |
| GET | Read | 자원을 가져온다. |
| PUT | Update | 자원을 수정한다. |
| DELETE | Delete | 자원을 삭제한다. |
→ API를 만든다는 것은 자료의 CRUD를 작성한다는 것과 동일한 말 !
API(Application Programming Interface)란?
: 애플리케이션 간에 자료를 주고받으면서 특정 기능을 실행하는 인터페이스
- ex) SNS애플리케이션 안에는 사용자 로그인을 위한 API, 게시물을 작성하는 API, 댓글 작성 API 등이 존재
- 소셜 로그인 기능 —> 공개 API 활용!
→ API는 둘 이상의 컴퓨터 혹은 애플리케이션 간에 자료를 어떻게 주고받는지 지정하는 역할 !
RESTful API
: HTTP 프로토콜을 활용해서 자료를 주고받기 위해 약속된 구조
- REpresentational State Transfer의 줄임말 → 데이터의 현재 상태를 볼 수 있게 나타낸 것을 뜻함. ex) 장바구니에 어떤 상품을 담았는지 상태를 주고받을 때 사용하는 것, REST
RESTful 원칙
: RESTful API에서 주고받을 자원의 위치는 URL을 사용해 표현한다.
- 자원이란? 데이터베이스 자료 뿐만 아닌 웹 서버에 올라와 있는 모든 이미지나 멀티미디어 등
- 자원 이름은 명사형으로 알파벳 소문자를 사용한다.
- 자원 이름으로 단어를 2개 이상 사용한다면 붙임표(-)로 연결하거나 카멜 표기법을 사용한다. ex) https://github.com/microsoft/**vscode-docs** https://comic.naver.com/**bestChallenge**
- 자원 간에 계층이 있다면 슬래시(/)로 구분하되 URLl 끝에는 슬래시를 붙이지 않습니다.
- ex) https://v.daum.net/**channel/90/home**
- 자원을 처리하는 방법을 URL에 포함시키지 않는다.
- ex) loccalhost:3000/contacts (o) locatlhost:3000/get-contacts (x)
HTTP로 요청 방식 처리하기
: 자원을 어떻게 처리할 것인지는 HTTP 요청 방식으로 표현한다.
HTTP 요청 방식 역할 설명
| POST | Create | 자원을 새로 만든다. |
| GET | Read | 자원을 가져온다. |
| PUT | Update | 자원을 수정한다. |
| DELETE | Delete | 자원을 삭제한다. |
→ API를 만든다는 것은 자료의 CRUD를 작성한다는 것과 동일한 말 !
reference
Do it! Node.js 프로그래밍 입문
'[NodeJS] 노드' 카테고리의 다른 글
| [NodeJS] 비밀번호 암호화하기-bcrypt 모듈 (0) | 2024.06.03 |
|---|---|
| [Express] express-async-handler (0) | 2024.06.03 |
| 블로킹과 논블로킹 (0) | 2024.05.27 |
| [Javascript] let과 const 그리고 var (0) | 2024.05.27 |
| 버퍼와 스트림 (0) | 2024.05.23 |