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!");
});
미들웨어를 이용하면 인증과 관련된 작업이 필요한 라우트에서 이를 쉽게 구현할 수 있습니다.
반응형
'개발정리 (nodeJS)' 카테고리의 다른 글
[nodeJS] 자주 사용하는 Node.js 패턴 정리 2 (콜백 패턴) (0) | 2023.06.22 |
---|---|
[nodeJS] 자주 사용하는 Node.js 패턴 정리 1 (모듈 패턴) (0) | 2023.06.21 |
[nodeJS] 변수 선언하기 (var, let, const) (0) | 2023.06.19 |
[nodeJS] body-parser로 JSON 파싱하기 (0) | 2023.06.17 |
[nodeJS] Axios로 HTTP 요청하기 (0) | 2023.06.16 |