Node.JS_ middleware

JOO·2021년 11월 20일
0

node.js

목록 보기
5/15

Node.JS_ middleware

middleware 함수는 req, res, 그리고 애플리케이션의 요청-응답 주기 중 그 다음의 middleware함수에 대한 권한을 갖는 함수입니다.

간단히 말하면 애플리케이션의 어떤 요청과 응답의 사이 혹은 요청 이전, 응답 이후에 원하는 다른 작업을 넣을 수 있는 기능입니다.
(기본적으로 보이는 HANDLER도 middleware함수)

아래 보이는 사진은 express 공식 문서에 나와있는 middleware함수 호출의 요소
(출처 : https://expressjs.com/)

1. 전역공간 에서의 middleware함수 호출

const express = require('express');
const app = express();

const myLogger = function (req, res, next) {
 console.log('LOGGED');
 next();
};

app.use(myLogger);

app.get('/', function (req, res) {
 res.send('Hello World!');
});

app.listen(3000);

-> middleware함수가 모든 라우터들 위에 있으면 요청이 수신될때마다 해당 middleware를 실행함.
-> Node.js는 위에서 아래로 왼쪽에서 오른쪽으로 실행됨.
-> 항상 middleware의 호출 순서를 조심해야함.

2. 특정 라우터에서의 middleware함수 호출

const express = require('express');
const app = express();

const requestTime = function (req, res, next) {
 req.requestTime = Date.now();
 next();
};

app.use(requestTime);

app.get('/', function (req, res) {
 const responseText = 'Hello World!';
 responseText += 'Requested at: ' + req.requestTime + '';
 res.send(responseText);
});

app.listen(3000);

-> 특정 라우터안에 함수 추가 가능.
-> 만약 분리된 라우터에서 middleware를 호출했다면 해당 라우터내에서만 호출됨.

profile
개발공부 기록

0개의 댓글