파라미터란?
파라미터는 함수나 메소드에 전달되는 값을 나타내는 용어입니다. 함수나 메소드를 호출할 때, 인자(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() 메소드를 사용하여 응답을 보냅니다.
'STUDY > ExpressJS' 카테고리의 다른 글
[7-3] Express.js HTTP 보안강화 미들웨어 - helmet (0) | 2023.04.11 |
---|---|
[5-3] Express.js 라우터 모듈화 (0) | 2023.04.05 |
[4-3] Express.js 미들웨어 등록 메소드 - app.use() (0) | 2023.03.31 |
[4-2] Express.js HTTP요청의 body를 파싱하기 위한 미들웨어 - body-parser (0) | 2023.03.31 |
[5-2] Express.js 라우팅 방식 - app.get() vs app.route() vs router.route() (0) | 2023.03.30 |