Notice
Recent Posts
Recent Comments
Link
HANA -J
TIL - 2021/11/24 본문
> 항해99 4주차 노드심화... 모르겠다.. 어렵다
Express.js의 라우터? 미들웨어?
라우터는 미들웨어 입니다. 어떤 원리로 동작하기 때문에 미들웨어로 라우터를 구현할 수 있을까?
미들웨어 함수는 req(요청) 객체, res(응답) 객체, 그리고 어플리케이션 요청-응답 사이클 도중 그 다음의 미들웨어 함수에 대한 엑세스 권한을 갖는 함수이다.
미들웨어란 클라이언트에게 요청이 오고 그 요청을 보내기 위해 응답하려는 중간(미들)에 목적에 맞게 처리를 하는 함수들이다.
express는 여러 middleware 유형이 존재한다.
- 어플리케이션 레벨 미들웨어
- 라우터 레벨 미들웨어
- 오류 처리 미들웨어
- 써드파티 미들웨어
라우터 레벨 미들웨어 ?
Router객체를 이용해 router.use() 또는 router.Method()함수를 이용해서 미들웨어로 사용가능하다.
Router객체는 자체로 미들웨어 처럼 작동
routes.js
//회원 관련 로직을 수행하는 uri를 분리해서 module로 만들어 줄수 있다
const router = express.Router(); // 라우터 분리
router.post("/users", async (req, res) => {
const { email, nickname, password, confirmPassword } = req.body;
if (password !== confirmPassword) {
res.status(400).send({
errorMessage: "패스워드가 패스워드 확인란과 다릅니다.",
});
return;
}
module.exports = router; // 모듈로 만드는 부분
const router = express.Router()로 Router 객체를 생성한 뒤에 메인서버 js파일에서 app.use()를 사용해 module를 분리해서 사용할 수 있다.
//app.js 루트js파일에서 미들웨어로 사용가능
app.use('/users' . require('/routes');
728x90
'what I Learnd > TIL' 카테고리의 다른 글
TIL - 인터넷 네트워크, HTTP (0) | 2021.12.02 |
---|---|
TIL -TDD (0) | 2021.11.27 |
TIL -2021/11/16 (0) | 2021.11.17 |
TIL - 2021/11/13 (0) | 2021.11.13 |
TIL - 2021/11/12 (0) | 2021.11.12 |
Comments