카테고리 없음

Node.js 미들웨어

tp134679 2025. 1. 20. 13:58

<목차>

1. Express 미들웨어 

1.1 미들웨어의 기본 흐름

 

2. 미들웨어의 종류

 

 

 

 

1. Express 미들웨어 

클라이언트와 서버간의 요청과 응답사이에 위치하여 그 사이에서 실행이 되는 함수입니다. 사이에서 역할을 하며 오류를 일으킬 법한 요청이나 응답을 걸러네거나 조작하는 기능을 합니다.

 

미들웨어의 역할과 어디서 작용하는지 를알려주는 구조

 

 

1.1 미들웨어의 기본 흐름

 

미들웨어는 req 응답 res 요청 2개의 인자를 받는게 아니라 next 라는 콜백함수 인자를 하나 더 받아서 미들웨어 함수가 실행후 next()를 호출하여 다음함수를 콜백시키는 형태를 가집니다. 

 

 

req 요청의 값을 가지고 검증을 하거나 필요한 모듈을 사용후에 다음 next 함수를 실행 

 

 

미들웨어의 기본 사용 use

 

 기본적인 미들웨어의 사용은 express 의 메서드인 use를 사용하여 express 서버 내에서 항상 실행시키는 미들웨어의 역할을 수행하게 합니다. 

 

 

use를 활용한 미들웨어

 

 

 

 

2. 미들웨어의 활용

 

미들웨어의 활용법에는 크게  메서드 미들웨어, 라우터 미들웨어 오류처리 미들웨어 외부모듈 미들웨어 로 나뉘게 된다.

 

 

메서드 미들웨어

 

app.get이나 app.post 등 여러 메서드에 응답하는 메서드를 사용하여 해당 메서드에의한 미들웨어 처리가 가능하다.

 

use가 아닌 get 요청과 post 요청에 미들웨어를 부여함

 

 

라우터 미들웨어

 

특정라우트에서만 작동하는 미들웨어

 

 

오류처리 미들웨어 

 

오류처리의 미들웨어에는 인자값이 4개가 들어가야합니다.

 

express 내에서는 모든 에러를 처리하기 위한 핸들러가 내장되어있습니다. 에러 핸들러를 사용하면 앱에서 에러가 발생됬을때 해당라우터로 이동하여 처리하기떄문에 각각의 에러처리를 하기보단 라우터에서 쉽게 관리하다는 장점이 있습니다.

(좌) 오류처리가 발생한 예제 코드 (우) 오류발생으로 인해 실행된 오류처리 미들웨어

 

 

외부모듈 미들웨어 

 

외부모듈로 가저온 메서드를 express 서버로 가지고와서  use 미들웨어로 사용함으로서 가져온 모듈이 모두 적용되게 할 수 있게됩니다.