Middleware란?


요청이 완료되기 전에 코드를 실행해야하는 경우 middleware가 문제를 해결해줄 수 있다. 이에 따른 요청에 대해 재응답, 리디렉션, 헤더 수정 등의 응답을 직접적으로 할 수 있다.

🖥️ Use Cases

  1. 인증 및 권한 부여: 요청이 완료되기 전에 현재 요청을 확인할 수 있으니 사용자 신원(token의 유 무, session 및 기타 정보)를 확인하여 인가된 사용자인지 확인하여 이에 따라 응답을 달리할 수 있다.
  2. 페이지나 API가 처리되기 전에 요청 데이터를 캡쳐해서 분석하는 것이 가능하다.

⛔️ 다만 복잡한 데이터나 무거운 작업의 경우를 다루는 것인 지양해야한다.

1️⃣ Middleware의 실행 순서

스크린샷 2025-05-17 오후 1.09.50.png

위 이미지를 통해서 middleware는 파일 시스템 라우트 즉 페이지에 방문하기 전에 실행된다는 것을 알 수 있습니다. 이러한 실행 순서를 통해서 우리는 페이지가 로딩되기 전에 middleware를 통해서 원하는 목적을 수행할 수 있습니다.

🔥 Trouble Shooting


<aside> 💡 middleware를 통해서 경로와 관련된 다양한 문제를 해결해보고 이게 어떤 경우에 더욱 유용하게 사용될 수 있는지 알아보자.

</aside>

스크린샷 2025-01-22 오후 4.20.09.png

에러가 발생하였다. 현재 allowedPaths가 포함된 조건문이 들어가는 경우 위와 같은 오류가 발생하였다.