본문 바로가기
Language/Node.js

Routin 이해 및 Router 학습

by 노믹 2022. 12. 12.

Routing이란?

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

 

Router란?

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

  • 일반적으로 Router는 아래와 같은 구조를 가집니다.
router.METHOD(PATH, HANDLER);
  • router: express의 라우터를 정의하기 위해 사용합니다.
  • METHOD: HTTP Method를 나타냅니다. (ex: get, post, put, delete …)
  • PATH: 실제 서버에서 API를 사용하기 위한 경로를 나타냅니다.
  • HANDLER: 라우트가 일치할 때 실행되는 함수입니다.

Router 사용해보기

  • routes 폴더를 생성해 goods.js라는 파일을 생성합니다.
  • express에서 제공되는 Router 함수를 사용해 Router를 생성합니다.
// routes/goods.js

const express = require('express');
const router = express.Router();
  • 그리고 예시로 엔드포인트를 작성해보겠습니다.
// routes/goods.js

// localhost:3000/api/ GET
router.get("/", (req, res) => {
  res.send("default url for goods.js GET Method");
});

// localhost:3000/api/about GET
router.get("/about", (req, res) => {
  res.send("goods.js about PATH");
});
  • 작성한 Router를 app.js에서 사용하기 위해 하단에 내보내주는 코드를 추가합니다.
// routes/goods.js

module.exports = router;
  • Router 미들웨어를 사용하겠다고 작성합니다.이제부터 http://localhost:3000/ 뒤에 /api 로 시작되는 주소는 routes/goods.js 에 있는 Router 미들웨어를 통해 처리됩니다.

미들웨어(Middleware)란 뭘까요?

웹 서버에서 요청을 받을때 가끔 모든 요청에 대해 공통적인 처리를 하고싶은 경우가 생길 수 있습니다. 그럴때 미들웨어를 이용하여 웹 서버의 요청/응답에 대해 공통적으로 관리가 가능합니다.

지금은 간단하게 하고 넘어가겠습니다.

'Language > Node.js' 카테고리의 다른 글

Request와 Response  (0) 2022.12.13
Module의 이해  (0) 2022.12.13
API Client  (1) 2022.12.12
Express.js 란?  (0) 2022.12.12
Package Manager (npm)  (0) 2022.12.12