티스토리 뷰

JavaScript/JS백엔드

[Express] 라우터

염두리안 2025. 1. 14. 00:16
728x90
반응형

라우트 중복 제거하기

  • app.route() 사용
// app.route('경로명')
app.route('/products')
  .get((req, res) => {
  res.json({ message: 'Product 목록 보기' });
  })
  .post((req, res) => {
    res.json({ message: 'Product 추가하기' });
  });

이랬는데 요래 됏슴당

 

라우터 만들기

  • express.Router() 사용(마무리로 app.use() 사용)
const productRouter = express.Router();

productRouter.route('/products')
  .get((req, res) => {
  res.json({ message: 'Product 목록 보기' });
  })
  .post((req, res) => {
    res.json({ message: 'Product 추가하기' });
  });
  
  app.use(productRouter);
  
  // 위 코드를 조금 더 간결하게...
const productRouter = express.Router();

productRouter.route('/:id')
  .patch((req, res) => {
    res.json({ message: 'Product 수정하기' });
  })
  .delete((req, res) => {
    res.json({ message: 'Product 삭제하기' });
  });
  
app.use('/products', productRouter);

 

라우터 레벨 미들웨어

  • app.use()를 사용할 때 앱 전체가 아닌, 특정 라우트에만 미들웨어 적용 가능 ~> 특정 권한, 조건에서 접근 가능하게 하고 싶을 때 사용
productRouter.use((req, res, next) => {
  console.log('Product Router 항상 실행');
  next();
})

 

Express 프로젝트 구조와 모듈화

  • 정답은 없지만 그냥 기능같은 걸로 나눠서 저장하기,,,

 

728x90
반응형

'JavaScript > JS백엔드' 카테고리의 다른 글

[JS백엔드] 인증과 인과  (0) 2025.01.14
[Express] 파일 업로드  (0) 2025.01.14
[Express] 미들웨어  (0) 2025.01.13
물리적 모델링  (0) 2025.01.02
정규화  (0) 2025.01.02
최근에 올라온 글
최근에 달린 댓글
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Total
Today
Yesterday
반응형