이번에는 node.js 중에서 많이 다루는 router 미들웨어의 대해서 알아보았다.
Router 미들웨어는 사용자의 다양한 요청이 들어왔을 때 use() 메소드로 설정한 미들웨어가 항상 호출되는 불편한점을 해결을 해주는 미들웨어 이다.
router 미들웨어는
const router = express.Router();
이렇게 express에 Router 객체를 적용하여서 사용한다.
const bodyParser = require('body-parser');
const app = express();
const port = 3000;
app.use(bodyParser.urlencoded({extended: false}))
const router = express.Router();
// http://localhost:3000/member/login
router.route('/member/login').post((req, res) => {
console.log('/member/login 호출!');
});
router.route('member/regist').post((req, res) => {
console.log('/member/regist 호출!');
});
app.use('/', router);
app.all('*', (req, res) => {
res.status(404).send('<h1>페이지를 찾을 수 없습니다.</h1>');
})
app.listen(port, () => {
console.log(`포트 ${port}번으로 실행중...`);
});
9번째줄
const router = express.Router();를 함으로써 router 미들웨어를 적용을 시켰다.
13번째줄
나의 서버를 http://localhost:3000/member/login 를 지정함에 따라서 router.route는 ('/member/login')로 값을 설정해준다.
또한 이 router은 서버를 보내는 거이므로 post방식으로 하고 잘 보내졌을때
/member/login 호출! 이라고 뜰 것이다.