
서버로 오는 모든 request 에 대해서 라우트 핸들러 이전에 request 를 받아서 필요한 처리를 해주는 함수 이다.
express() 가 리턴한 app 객체의 use 메서드로 사용할 수 있다.
const express = require('express');
const app = express();
>
app.use(미들웨어)
미들웨어 함수는 보통 req, res, next라는 3개의 파라미터를 받는다.
이 파라미터들로 넘어오는 객체들을 활용해서 미들웨어는 리퀘스트에 관한 처리를 수행하고 리퀘스트를 그 다음 미들웨어나 그 다음 핸들러로 넘겨준다.
⭐️ 마지막 next 파라미터로 넘어오는 함수를 마지막에 호출하면 리퀘스트를 다음 미들웨어나 라우트 핸들러로 넘길 수 있다.
app.use((req, res, next) => {
console.log(req.query); // req 의 query 객체를 출력하는 미들웨어
next(); // next 파라미터로 들어오는 함수를 로직의 마지막에 호출해 주어야 리퀘스트를 그다음으로 넘길 수 있다.
});