Node.js와 Express를 사용하여 RESTful API를 구축하는 경우, 동적 라우팅 처리는 매우 중요합니다. 동적 라우팅을 사용하면 URL의 일부를 매개변수로 전달하여 요청을 보다 유연하게 처리할 수 있습니다.
이 블로그 포스트에서는 Node.js 및 Express를 사용하여 REST API를 구축하는 과정에서 동적 라우팅 처리에 대해 자세히 알아보겠습니다.
1. Express 앱 설정
먼저, Express 앱을 설정해야 합니다. 아래는 기본적인 Express 앱의 설정 코드입니다.
const express = require('express');
const app = express();
const port = 3000;
app.use(express.json());
2. 동적 라우트 정의
다음으로, 동적 라우트를 정의해야 합니다. 동적 라우트는 URL의 특정 부분을 매개변수로 사용하여 요청을 처리합니다. 예를 들어, “/users/:userId”와 같은 형식으로 동적 라우트를 정의할 수 있습니다.
app.get('/users/:userId', (req, res) => {
const userId = req.params.userId;
// userId를 이용한 로직 처리
res.send('User ID: ' + userId);
});
위의 코드에서 “:userId” 부분은 사용자가 요청한 실제 값으로 대체됩니다. 이를 통해 특정 사용자의 데이터를 가져오거나 처리할 수 있습니다.
3. 요청 처리
정의된 동적 라우트에 따라 요청이 들어오면 해당 라우트의 콜백 함수가 실행됩니다. 이때, 매개변수로 전달된 값은 req.params
객체를 통해 접근할 수 있습니다.
app.get('/users/:userId', (req, res) => {
const userId = req.params.userId;
// userId를 이용한 데이터베이스 조회 등의 로직 처리
res.send('User ID: ' + userId);
});
위의 코드에서 req.params.userId
를 통해 URL에서 전달된 사용자 ID에 접근할 수 있습니다.
마무리
이제 Express를 사용하여 RESTful API에 동적 라우팅을 적용하는 방법을 알아보았습니다. 동적 라우팅을 통해 REST API를 보다 유연하게 구축할 수 있으며, 클라이언트의 요청에 따라 동적으로 데이터를 처리할 수 있습니다.
Express의 동적 라우팅 기능을 활용하여 RESTful API를 설계하면, 심플하면서도 강력한 API를 만들 수 있습니다.
참고 문헌:
- https://expressjs.com/ko/guide/routing.html
- https://velopert.com/294
- https://poiemaweb.com/express-basics