티스토리 뷰
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 |