[javascript] Express.js에서의 동적 라우팅 처리 방법

Express.js는 Node.js 기반의 웹 애플리케이션 프레임워크로, 간편하게 웹 서버를 만들고 동적으로 라우팅을 처리할 수 있는 기능을 제공합니다. 이번 포스트에서는 Express.js에서의 동적 라우팅 처리에 대해 알아보겠습니다.

1. 기본적인 라우팅

Express.js에서의 기본적인 라우팅은 특정 URL에 대한 요청에 대해 처리하는 방식입니다. 아래의 코드는 Express.js에서의 기본적인 라우팅 예제입니다.

const express = require('express');
const app = express();

app.get('/', (req, res) => {
    res.send('Hello, Express!');
});

app.listen(3000, () => {
    console.log('Server is running on port 3000');
});

위의 코드에서 app.get('/', ...)은 루트 URL인 '/'로 GET 요청이 들어왔을 때 처리하는 라우팅을 설정하는 부분입니다. res.send('Hello, Express!')은 클라이언트로 응답을 보내는 코드입니다.

2. 동적 라우팅

동적 라우팅은 URL에 변수를 추가하여 동적으로 라우팅을 처리하는 방식입니다. 이를 위해 Express.js에서는 :을 사용하여 변수를 표시합니다. 아래의 코드는 동적 라우팅을 처리하는 예제입니다.

app.get('/users/:userId', (req, res) => {
    const userId = req.params.userId;
    res.send(`User ID: ${userId}`);
});

위의 코드에서 'users/:userId'/users/ 다음에 오는 변수를 userId라는 변수로 사용한다는 의미입니다. req.params.userId를 통해 해당 변수에 접근할 수 있습니다.

이렇게 동적 라우팅을 처리함으로써, 사용자가 /users/1과 같은 URL을 요청했을 때 해당하는 유저의 정보를 동적으로 처리할 수 있습니다.

3. 다중 변수 처리

Express.js에서는 하나의 URL에 여러 개의 변수를 처리하는 것도 가능합니다. 아래의 코드는 다중 변수 처리 예제입니다.

app.get('/users/:userId/books/:bookId', (req, res) => {
    const userId = req.params.userId;
    const bookId = req.params.bookId;
    res.send(`User ID: ${userId}, Book ID: ${bookId}`);
});

위의 코드에서 'users/:userId/books/:bookId'/users/ 다음에 오는 변수를 userId로, /books/ 다음에 오는 변수를 bookId로 사용한다는 의미입니다.

이렇게 다중 변수를 처리함으로써, /users/1/books/10과 같은 URL을 요청했을 때 해당하는 사용자와 책의 정보를 동적으로 처리할 수 있습니다.

결론

Express.js에서의 동적 라우팅 처리는 URL에 변수를 추가하여 해당 변수를 동적으로 처리하는 방식입니다. 이를 통해 유연하게 웹 애플리케이션을 구성할 수 있습니다. Express.js의 더 많은 기능과 세부 사항은 공식 문서를 참고하시기 바랍니다.

참고 자료: