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 |