요청(req)과 응답(res) 사이에서 동작하는 함수

서버로 들어오는 요청을 가로채서 → 처리하고 → 다음 단계로 넘김

(req, res, next) => {
  // 작업 수행
  next(); // 다음 미들웨어로 이동
}


예시 1 – 로깅 미들웨어


app.use((req, res, next) => {
  console.log(`${req.method} ${req.url}`);
  next(); // 안 쓰면 멈춤
});


예시 2 – JSON 파싱 미들웨어


app.use(express.json()); // JSON 요청 본문 파싱 → req.body에 저장


정리 – 자주 쓰는 미들웨어 종류

미들웨어 역할 설명
express.json() JSON 본문 파싱 (req.body 사용 가능)
express.urlencoded() HTML 폼 전송 데이터 파싱
cors() CORS 허용 처리
morgan() HTTP 로그 기록
helmet() 보안 헤더 설정
커스텀 미들웨어 직접 만든 기능 삽입 ex) 인증 확인, 로깅 등