본문 바로가기
STUDY/ExpressJS

[5-1-1] Express.js 파라미터를 이용한 동적 URL처리

by Y.Choi 2023. 4. 5.
728x90
반응형

 

파라미터란?


파라미터는 함수나 메소드에 전달되는 값을 나타내는 용어입니다. 함수나 메소드를 호출할 때, 인자(argument)를 전달하는데, 이러한 인자는 함수나 메소드에서 파라미터(parameter)로 받아들여지게 됩니다.

예를 들어, 다음과 같은 함수를 생각해보겠습니다.


function sum(a, b) {
  return a + b;
}

 

sum(1, 2)

위 함수는 a와 b라는 두 개의 파라미터를 가지고 있습니다. sum(1, 2)와 같이 호출할 때, 1과 2는 각각 a와 b라는 파라미터에 전달됩니다. 함수 내부에서는 전달된 파라미터를 이용하여 연산을 수행하고, 그 결과를 반환합니다.

Express.js에서의 파라미터는 URL 경로에서 추출되는 값입니다. 이러한 파라미터는 URL 경로에서 :를 사용하여 표시됩니다. 예를 들어, /users/:userId와 같은 URL 경로에서 userId라는 파라미터를 추출할 수 있습니다. 이러한 파라미터는 Express.js의 req.params 객체를 통해 접근할 수 있습니다.


URL 동적처리


Express.js에서 파라미터를 사용하여 동적인 URL을 처리할 수 있습니다. 

파라미터를 사용하면 URL 경로에 포함된 값을 추출할 수 있어서, 동일한 URL 패턴을 가진 다양한 요청을 다룰 수 있습니다.

파라미터는 :을 사용하여 URL 경로에 지정할 수 있습니다. 예를 들어, /users/:id는 id라는 파라미터를 가진 URL 경로입니다. 이러한 URL 경로에 대한 요청이 들어올 때는, req.params 객체를 사용하여 파라미터 값을 추출할 수 있습니다.

다음은 파라미터를 사용하여 /users/:id 경로에 대한 GET 요청을 처리하는 예시입니다.

app.get('/users/:id', (req, res) => {
  const userId = req.params.id;
  res.send(`Get user with id ${userId}`);
});


위 코드에서 app.get() 메소드를 사용하여 /users/:id 경로에 대한 GET 요청을 처리합니다. 요청이 들어오면 콜백 함수에서 req.params.id를 사용하여 id 파라미터 값을 추출합니다. 이 값을 사용하여 데이터베이스에서 해당하는 사용자 정보를 조회하거나, 다른 로직을 수행할 수 있습니다. 마지막으로 res.send() 메소드를 사용하여 응답을 보냅니다.

또한, 파라미터는 여러 개 사용할 수 있습니다. 예를 들어, /users/:userId/posts/:postId는 userId와 postId라는 파라미터를 가진 URL 경로입니다. 이러한 URL 경로에 대한 요청이 들어올 때는, req.params 객체를 사용하여 파라미터 값을 추출할 수 있습니다.

app.get('/users/:userId/posts/:postId', (req, res) => {
  const userId = req.params.userId;
  const postId = req.params.postId;
  res.send(`Get post ${postId} for user ${userId}`);
});



위 코드에서 app.get() 메소드를 사용하여 /users/:userId/posts/:postId 경로에 대한 GET 요청을 처리합니다. 요청이 들어오면 콜백 함수에서 req.params.userId와 req.params.postId를 사용하여 파라미터 값을 추출합니다. 이 값을 사용하여 데이터베이스에서 해당하는 게시물 정보를 조회하거나, 다른 로직을 수행할 수 있습니다. 마지막으로 res.send() 메소드를 사용하여 응답을 보냅니다.

728x90
반응형