[NODE.JS] 미들웨어(Middleware) 정리

SEUNGJUN·2022년 2월 21일
0

NODE.JS에서 Express부분을 공부하는데 미들웨어가 나와서 한번 정리를 해보려고 합니다.

미들웨어란?

미들웨어 함수는 request(요청), response(응답) 주기 중에 다음 미들웨어 함수에 대한 액세스 권한을 가지는 함수라고 공식적으로 정의를 하고있다.

일단 이렇게만 들으면 확 이해가 가지는 않는다. 이걸 쉽게 풀어서 이야기 해본다면 웹 내부에서 요청과 응답에 대한 정보처리를 진행하도록 하는 독립적인 함수? 라고 하면 될것 같다.

미들웨어는 node에 express라는 프레임워크에서 내에서 사용을 하게 되는데 구성을 보면서 이해하는게 좋을것 같다.

미들웨어 함수를 보면 req 객체와 res 객체를 파라미터로 전달 되면서, 여기서 한가지가 더있는데 next라는 객체가 있다. 여기서 next는 어떻게 보면 콜백? 이라고 보면 될것 같다. 내가 요청한 어떤 데이터를 다음 미들웨어에게 넘겨줄수있는 기능을 하고 있다.

코드를 보면서 이해해 본다면 requestData라는 변수에 미들웨어를 지정하고, req객체에다가 requestData라는 속성인 미들웨어 입니다. 를 추가하고 다음 get함수에 미들웨어를 넘겨서 res를 받아보려고 한다. 이때 결과값은 어떻게 될까?

오..? 아무런 반응이 일어나지 않는다.. 이유는 next를 사용해 주지 않았기 때문인데 여기서 next가 사용되면

첫번째 미들웨어에서 req객체를 넘겨주게 되고 다음 미들웨어에서 그 객체를 넘겨받아서 그 객체 안에 있는 속성값을 원래 지정해 두었던 responseData에 추가해 주니 위와 같은 결과가 나온것을 확인할수 있었다.

미들웨어 정리

미들웨어는 구조내에서 중간중간 처리를 위한 함수라고 할수 있다. 그리고 하나더 신경써야될 부분이 미들웨어 순서가 있으니 로드되는 순서도 잘 처리하는게 중요할거라고 생각한다.

profile
RECORD DEVELOPER

0개의 댓글