Middleware
클라이언트 요청과 서버 로직 사이에서 중간 역할을 하는 소프트웨어
요청(Request) → 미들웨어 → 실제 서버 로직 → 응답(Response)
왜 필요한가
서버가 모든 걸 직접 처리하면 코드가 복잡해짐그래서 공통 처리를 미들웨어에서 함
예시
• 로그인 인증 확인
• 요청 로그 기록
• 에러 처리
• 권한 체크
• CORS 처리
• 토큰 검증
구조 예시
사용자 요청
↓
Middleware (로그 기록)
↓
Middleware (JWT 인증 확인)
↓
Controller (실제 기능 처리)
↓
응답 반환
실제 코드 예
app.use((req, res, next) => {
console.log("요청 들어옴:", req.url);
next(); // 다음 단계로 넘김
});
여기서 미들웨어는
요청을 먼저 받음 → 작업 수행 (로그 기록) → next()로 다음 로직 전달
Spring에서
Spring에서는 보통 이런 것들이 미들웨어 역할
• Filter
• Interceptor
• Aspect(AOP)