본문 바로가기
개발정리 (nodeJS)

[nodeJS] Node.js와 Express에서 미들웨어 (Middleware) 사용하기

by 할리갈리0 2023. 6. 20.

1. 미들웨어 (Middleware)

요청과 응답 사이에서 수행할 연산이나 작업을 처리하는 함수

사용자가 요청한 작업을 처리한 후 다음 미들웨어로 결과를 전달하거나 응답을 반환\

Express에서는 미들웨어를 사용하여 애플리케이션의 로직을 명확하게 구조화하고 모듈화 가능

 

2. 미들웨어 사용법

요청 객체(req), 응답 객체(res), 다음 미들웨어를 실행할 함수(next) 총 3개의 인수 받음

요청과 응답 객체를 사용하여 필요한 로직을 처리한 후에 next() 함수로 다음 미들웨어로 이동

function myMiddleware(req, res, next) {
  // 미들웨어 로직
  console.log("Hello from my middleware!");
  // 다음 미들웨어로 넘어감
  next();
}

 

3. Express에서 미들웨어 적용하기

app.use() 함수를 사용하여 전역적으로 적용하거나, 특정 라우트에 대해서만 적용 가능

3-1. 전역 미들웨어 적용

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

app.use(myMiddleware);

app.get("/", (req, res) => {
  res.send("Hello World!");
});

app.use() 함수에 미들웨어 함수를 전달하여 모든 요청에 대해서 전역적으로 미들웨어를 적용

 

3-2. 특정 라우트에 미들웨어 적용

해당 라우트 핸들러 이전에 미들웨어 함수를 라우트 체인에 추가

app.get("/hello", myMiddleware, (req, res) => {
  res.send("Hello from a protected route!");
});

 

미들웨어를 이용하면 인증과 관련된 작업이 필요한 라우트에서 이를 쉽게 구현할 수 있습니다.

반응형