라우팅 처리 과정에서 미들웨어 함수를 사용해보려고 한다.
middlewares이름의 폴더를 만든후 appLogger.ts 파일 안에 코드 작성

특별한 기능이 있는 코드는 아니고 미들웨어로써 사용할 함수이다.
import express from "express";
let appLogger = (
req: express.Request,
res: express.Response,
next: express.NextFunction
) => {
// url, method, time, data
let url = req.url;
let method = req.method;
let date = new Date().toLocaleDateString();
let time = new Date().toLocaleTimeString();
let result: string = `[${url}] [${method}] - [${date}] - [${time}]`;
console.log(result);
next(); // mandatory
};
export default appLogger;
여기서 주목해야 할 부분은 next() 함수 호출 부분인데 이 함수는 미들웨어 실행순서를 유지하기 위해 필수적인 부분이다. next 함수를 호출하지 않으면 요청 처리가 중단되고 이후의 미들웨어 또는 라우터가 실행되지 않는다.
아래 처럼 코드가 구성되어있고 api 요청시 결과가 잘 나오는걸 확인할 수 있다.



참고로 server.ts 파일에 app.use(appLogger) 코드를 작성한다면 모든 경로에 대해서 미들웨어 함수가 실행된다.