미들웨어란?
애플리케이션의 요청(req)-응답(res) 주기 중 그 다음 미들웨어 함수에 대한 액세스 권한을 갖는 함수입니다.
그 다음의 미들웨어 함수는 일반적으로 next라는 이름의 변수로 표시됩니다.
클라이언트가 reqeust를 보내고, 서버에서 받은 요청에대한 response를 하는 과정에서 중간(Middle)에서 개발자가 간섭하여 로직을 생성하거나 흐름을 제어하여 실행 할 수 있다는 것이다.
미들웨어(Middleware) 종류
- Application-level 어플리케이션 수준
- Router-level 라우터 수준
- Error-handling 오류 처리
- Built-in 내장
- Third-Party 제3자
미들웨어 함수는 다음과 같은 태스크를 수행할 수 있다.
- 모든 코드를 실행
- 요청 및 응답 오브젝트에 대한 변경을 실행
- 요청-응답 주기를 종료
- 요청(req)-응답(res)에 흐름을 제어할 수 있다.
if (request.method ==== 'GET') {
return;
} else {
next();
}
- 스택 내의 그다음 미들웨어 함수를 호출
const express = require('express');
const app = express();
express모듈을 가져와서 함수를 실행 함으로써 Application Object에는 use() 메서드가 존재하게 된다.
use()함수를 이용하여 미들웨어를 등록하고, 등록된 순서대로 실행한다.
문서에는 스택이라고 표현했는데 자료구조에 LIFO구조는 아닌 것 같습니다.
Middleware함수 등록
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use('/', homeRouter);
Middleware 실행
'Node.js > Node.js Doc' 카테고리의 다른 글
[Node.js] MongoDB 연동하기 (0) | 2022.05.10 |
---|---|
MongoDB 무료로 사용하기(MongoDB Atlas) (0) | 2022.05.10 |
라우터 분리하기 (0) | 2022.05.08 |
[Node.js] bodyparser 미들웨어 사용하기 (0) | 2022.05.08 |
[Node.js] Basic routing (0) | 2022.05.08 |