February 10, 2021

미들웨어


요청과 응답의 중간에서 어떠한 동작을 행하는 프로그램이다. 요청과 응답을 조작하여 기능을 추가하기도 하고, 나쁜 요청을 걸러내기도 한다.

미들웨어 사용하기

// 모든 요청에서 미들웨어 실행
app.use(middleware func1[, middleware func2, ..., middleware funcN]);

// path로 시작하는 요청에서 미들웨어 실행
app.use(path, middleware func1[, middleware func2, ..., middleware funcN]);

// path로 시작하는 POST 요청에서 미들웨어 실행
app.post(path, middleware func1[, middleware func2, ..., middleware funcN]);

미들웨어 함수

app.use((req, res, next) => {
    // middleware callback
});

app.use((err, req, res, next) => {
    // error handling middleware

미들웨어는 req, res, next를 매개변수로 갖는 함수이다. next는 다음 미들웨어로 넘어가는 함수이며, 콜백 내에서 next를 호출하지 않으면 다음 미들웨어가 실행되지 않는다.

에러 처리 미들웨어는 err, req, res, next로 총 4 개의 매개변수를 갖는다.

실무에 자주 사용하는 퍄키지