Express앱에서 미들웨어 사용하기

더 좋은 블로그 글 : https://velog.io/@dami/Express-%EC%84%9C%EB%B2%84%EC%97%90%EC%84%9C-JSON-%ED%98%95%ED%83%9C%EB%A1%9C-%EC%9D%91%EB%8B%B5%ED%95%98%EA%B8%B0

미들웨어 함수(Middleware func­tion)는 request object (req), response object (res), next 함수를 이용해 앱의 요청과 응답을 순환합니다. Express안에서 Next함수가 호출되면 다음 미들웨어로 전달되어 수행합니다.

미들웨어 함수는 다음과 같은 작업을 합니다.

  • 사용자 코드를 실행시킨다. (옵저버 디자인 패턴)
  • 요청 및 응답을 바꾼다.
  • 요청-응답의 순환을 종료한다. (response)
  • 스택(stack)의 다음 미들웨어를 nex­t로 호출한다.

만약에 미들웨어가 요청에 응답을 하지 않는다면 자동으로 next() 함수로 다음 미들웨어에 제어를 전달합니다. 하지만 다음 미들웨어가 없다면 그 Request 는 응답받지 못하고 보류될 것 입니다.

다음 사진은 미들웨어 함수를 호출하는 인자들을 설명한다.

  • 미들웨어 함수에 적용할 HTTP 메소드
  • 미들웨어 함수에 적용할 경로(Path, router)
  • 미들웨어 함수

  • 다음 미들웨어 콜백 인수, nex­t를 사용
  • http 응답 인자, res를 사용
  • http 요청 인자, req를 사용

Express5 부터는 요청이 거절되거난 오류(Error)가 생기면 미들웨어 함수느 Next(value)를 호출하는 Promise 객체를 리턴할 것입니다. nex­t함수의 val­ue 인자는 에러코드 또는 거부 코드이다.

예제

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다