미들웨어는 다음같은 구성을 가짐.
위 그림은 endpoint
가 /
이면서 , GET
요청을 받았을때 사용하는 '미들웨어'이다.
주목해야할 것은 파라미터 순서이다. req
, res
는 요청/응답이며 next
는 다음 컨베이어 벨트로 넘기는 작업을 한다.
현재 미들웨어 내부에 아무일도 일어나지 않았지만,
next()
을 통해 다음 컨베이어 벨트로 넘길뿐이다.
아래 예시는 logger
를 사용하는것이다. logger
는 가장 단순한 미들웨어로 디버깅이나, 서버관리에 도움되기위해 console.log
를 적절하게 찍어주는 역할을 해준다.
특정 endpoint
가 아닌, 모든 요청에 대해 미들웨어를 붙인 예시다. 이때는 app.use
라는 메소드를 이용하고 LOGGED
가 콘솔에 찍히는지 확인한다.
const express = require('express');
const app = express();
const myLogger = function (req, res, next) {
console.log('LOGGED'); // 이 부분을 req, res 객체를 이용해 고치면, 여러분들은 모든 요청에 대한 로그를 찍을 수 있습니다.
next();
};
app.use(myLogger);
app.get('/', function (req, res) {
res.send('Hello World!');
});
app.listen(3000);