express 미들웨어

// 미들웨어
// 공통되는 코드
app.use((req, res, next) => {
  console.log('모든 요청에 실행하고 싶어요');
  next(); // 넣어줘야 다음 라우터를 찾아 실행함.
});

라우팅 매개변수

  • 매개변수 라우터는 순서를 지켜줘야 한다.

app.get('/category/:name', (req, res) => {
  console.log('res', res);
  console.log('req', req.params);
  res.send(`hello ${req.params.name}`);
});
  • 만약 매개변수 라우터를 상단에 배치한다면, 그 아래 라우터는 실행이 안된다.

app.get('/category/:name', (req, res) => {
  res.send(`hello ${req.params.name}`);
});

// 실행 안됨
app.get('/category/javascript', (req, res) => {
  res.send('hello javascript');
});
  • 범위가 넓은 라우터들은 다른 라우터들보다 아래에 위치해야한다.

  • 특정 라우터에만 middleware를 실행되게 하고 싶다면,

  • middleware를 여러개 넣을 수 있다.

  • 미들웨어 에러처리

  • 에러 미들웨어 에러처리

    • 에러 미들웨어(err, req, res, next)는 인자 4개를 반드시 넣어줘야한다.

  • 404처리

  • 한 라우터에서 여러번 send를 보내면 에러가 난다.

Last updated