저번에 express를 사용해서 서버를 만들어 보았다.
이번엔 Router 함수를 통해 express Router를 생성해보자.
일반적으로 router는 아래와 같은 구조를 가진다.
router.METHOD(PATH, HANDLER);
router
: Express.js의 라우터를 정의하기 위해 사용METHOD
: HTTP Method를 나타낸다 (ex: get
, post
, put
, patch
, delete
…)PATH
: 실제 서버에서 API를 사용하기 위한 경로를 나타낸다 (ex: users
, posts
…)HANDLER
: 라우트가 일치할 때 실행되는 함수이제 routes라는 폴더를 생성하고, 해당 경로에 router.js 파일을 생성해보자.
// routes/router.js
import express from 'express';
// Express.js의 라우터를 생성
const router = express.Router();
Express Router는 생성되었다.
이제 엔드포인트를 예시로 작성해보자.
// localhost:3000/api/ GET
router.get('/', (req, res) => {
res.json('default url for router.js GET Method');
});
// localhost:3000/api/about GET
router.get('/about', (req, res) => {
res.json('router.js about PATH');
});
그리고 마무리로는 이전에 만들어둔 app.js에 해당 라우터를 내보내기 위해
export default router;
를 추가해준다.
router.js 파일에서 노출된 Router를 app.js에서 app.use(PATH, router)
를 사용해 미들웨어에 사용하겠다고 작성해준다.
// app.js
import router from './routes/router.js';
// localhost:3000/api -> router
app.use('/api', [router]);
이제부터 http://localhost:3000
뒤에 /api 로 시작되는 주소는
routes/router.js 에 있는 Router 미들웨어를 통해 처리된다.
이제 node app.js
명령어로 서버를 실행시켜준 뒤,
localhost:3000/api
로 접속해주면
"default url for router.js GET Method" 라는 문구가 보일 것이다!
그리고 localhost:3000/api/about
으로 접속하면
해당 요청에 맞는 "router.js about PATH" 라는 문구가 나타날 것이다.
이렇게 express로 router 구축을 해보았다.
NULL