Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

다재다능 개발자 성장기 🚀

항해99 👩‍💻13일차 TIL 본문

항해99_6기_TIL

항해99 👩‍💻13일차 TIL

merrytang 2022. 3. 20. 01:08

🎉오늘의 한 일🎉

- 어제에 이어서 Node.js 2주차 강의를 들으면서 다양한 개념을 공부하였다. 💪👩‍💻

 


🐣 Today I Learned 🐣

⭐ Routing의 이해 및 Router 학습

1) Router이란 ? 

Router은 클라이언트의 요청 조건(메서드, 주소 등)에 대응해 응답하는 방식을 말한다. 

 

2) Router이란?

클라이언트의 요청을 쉽게 처리 할 수 있게 도와주는 Express.js기본 기능 중 하나이다. 

 

3) Router 사용해보기

- routes 폴더를 생성해 goods.js라는 파일을 생성한다.

- express에서 제공되는 Router함수를 사용해 Router를 생성해준다.

// app.js
const express = require('express');
const router = express.Router(); 

- Router미들웨어를 사용하겠다고 작성해준다.

app.use("/api", [goodsRouter]);

 

4) Router과 미들웨어의 차이

Router와 미들웨어는 서로 다른 방식처럼 보이지만 Router는 미들웨어 기반으로 구현된 객체이므로 미들웨어와 동일한 방식으로 작동된다. 

 

 

⭐API와 REST API의 개념

1) API(Aplication Programming Interface)란?

API는 애플리케이션끼리 연결해주는 매개체이자 약속이라고 볼 수 있다.

 

2) 현실에서 API를 비유해보자면 ? 

- 키보드로 글자를 입력하면 키보드는 우리가 작성한 글자를 컴퓨터에 전달해주는 역할을 한다. 우리가 키보드의 키를 누르는것이 API를 호출하는 것으로 볼 수 있다.

 

3) API를 작성한다는 의미는?

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

- 우리가 작성 할 API에서 원하는 데이터를 받아 데이터베이스에 데이터를 저장하고, 저장되어 있는 데이터를 읽어서 웹어플리케이션(프런트엔드)에 데이터를 제공하는 행위를 통해 사용자가 원하는 목적을 이룰 수 있게 해야한다. 

 

4) REST API는 어떤 의미를 갖는 API인가?

- REST(Representational State Transfer) : 간단히 설명하자면 URL, Headers, Method등 네트워크 표현 수단을 사람이 봐도 이해하기 쉬운 표현으로 정의한다고 이해하면 된다. 또한 이 "REST 아키텍쳐"는 사람이 봐도 쉽게 이해할 수 있도록 "자원"을 정의하고 이 "자원"을 중심으로 표현을 구성하는 원칙을 제시한다. 

 

 

- REST API는 "REST 아키텍쳐"라는 규칙을 따르는 API라고 생각하면 된다.

- REST API의 구성은 크게 세 가지로 이루어 진다. 

 

1. 자원(Resource) - URL

우리가 만들 소프트웨어가 관리하는 모든 것을 자원으로 표현할 수 있다. 쇼핑몰이라면 상품(Goods)에 대해서 정보를 관리할 것이고 또는 장바구니(Carts)에 담긴 상품들도 관리한다. 

 

2. 행위 - HTTP  method

GET, POST등으로 해당 자원에 대한 행위를 표현할 수 있다.

Create : 생성(POST)
Read : 조회(GET)
Update : 수정(PUT)
Delete : 삭제(DELETE)

 

3. 표현 

- 해당 자원을 어떻게 표현할지에 대한 설명이다. 보통 JSON, XML 같은 형식을 이용해서 자원을 표현한다. 

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

 

4) REST API 예시

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

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

- 위는 API는 REST API의 관점에서 보았을때 URL로 리소스를 구분할 수 있고 다른 표현이 없으므로 전체 리스트를 불러오는것을 짐작 할 수 있다. 또한 CRUD중 Create를 담당하는 HTTP 메서드로 표현하여 REST한 API라고 볼 수 있다. 

 


🍧느낀점🍧

API란 무엇이가에 대해서 항상 애매한 느낌이었는데, 이번 기회에 공부하면서 어떤 것인지에 대한 개념이 잡힌 것 같다. 이전에 공부했던 Spring과 비교하면서 공부하니까 개념들을 이해하기가 더 쉽고, 재미있는 느낌이다 🥰

'항해99_6기_TIL' 카테고리의 다른 글

항해99 👩‍💻15일차 TIL  (0) 2022.03.21
항해99 👩‍💻14일차 TIL/WIL  (0) 2022.03.20
항해99 👩‍💻12일차 TIL  (0) 2022.03.20
항해99 👩‍💻11일차 TIL  (0) 2022.03.18
항해99 👩‍💻10일차 TIL  (0) 2022.03.16