[nodejs] express로 router 구축하기 - 2

Uhan33·2024년 1월 24일
0

TIL

목록 보기
16/72

router 구축

저번에 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

0개의 댓글