라우트 매칭
HTTP 메서드와 경로가 일치하면 해당 미들웨어 체인이 순서대로 실행된다.
method/pathNode.js 런타임 위에서 Express는 Request, Response, NextFunction이 미들웨어 체인을 통과하며 HTTP 처리를 분리한다.
HTTP 메서드와 경로가 일치하면 해당 미들웨어 체인이 순서대로 실행된다.
method/pathbody parser, cookie, auth middleware가 요청 객체에 필요한 컨텍스트를 붙인다.
request contexthandler는 검증된 DTO와 서비스 호출 결과를 상태 코드와 응답 body로 바꾼다.
controller동기·비동기 오류는 next(error) 또는 wrapper를 통해 error handler로 모은다.
오류 흐름app.post("/users", validate(createUserSchema), async (req, res, next) => {
try { res.status(201).json(await service.create(req.body)); }
catch (error) { next(error); }
});