미들웨어는 HTTP 요청과 응답 사이에서 동작하는 소프트웨어 컴포넌트
요청과 응답 객체에 접근하여 그들을 변형하거나, 요청-응답 주기동안 추가적인 기능을 수행하거나, 다음 미들웨어로 연결하는 역할을 담당한다.
재사용성
-> 미들웨어는 독립적인 기능 단위로 작성되어, 다양한 애플리케이션에서 재사용할 수 있다.
모듈성
-> 미들웨어를 연결하여 애플리케이션의 요청 처리를 단계적으로 수행할 수 있으며, 각 단계에서 필요한 기능을 추가하거나 제거할 수 있다.
유연성
-> 다양한 미들웨어를 조합하여 복잡한 애플리케이션 로직을 구성할 수 있으며, 필요에따라 미들웨어를 추가하거나 변경할 수 있다.
-> 기대하는 작동 : / 의 url로 이동하면 그 요청에 해당하는 메소드와 url이 찍힌다.
// middleware에서는 use 사용
app.use((req, res, next) => {
console.log(`${req.method} ${req.url}`);
// next를 적어줘야지만 다음으로 성공적으로 넘어감
next();
});
Postman으로 / url에 쏜 결과 Hello World가 출력되고
vscode의 콘솔에는 GET / 이 찍힘
User로 찍어본 결과
잘 나오는 것을 확인할 수 있다!
-> 이전 강의에서 설정했던 nodemon이 작동을 하지 않았다..!
-> GPT에게 물어보니 권한 설정오류라 하여, 권한 설정 후 성공적으로 실행!