팬 메이드 게임 중 하나인 포켓로그 다들 해보셨나요?
포켓몬 도감을 만들고 싶으면 어떻게 하면 좋을까요?
poketmons 라는 페이지를 만들어 여기에 라우팅을 해주면 됩니다.
그렇다면, 도감에 있는 포켓몬 중 하나를 보고 싶다면..?
슬래시 뒤에 도감 번호로 분리하여 페이지를 만들어주면 됩니다.
아...무수히 많은 페이지를 생성해야 할까요?
✍ 경로 파라미터(Route Parameter)
app.get('/poketmons/:no', function(req, res) {
res.send(req.params);
})
// url: /poketmons/1
// response: { "no" : "1" }
콜론을 사용하면 URL에 입력한 값을 매개 변수로 사용할 수 있습니다.
✍ Map 객체 사용하기
let db = new Map();
db.set(1, { name: '이상해씨', type: ['풀', '독'], height: 0.7, weight: 6.9 });
db.set(2, { name: '이상해풀', type: ['풀', '독'], height: 1.0, weight: 13.0 });
db.set(3, { name: '이상해꽃', type: ['풀', '독'], height: 2.0, weight: 100.0 });
app.get('/poketmons/:no', function(req, res) {
let { no } = req.params;
no = parseInt(no);
if (db.get(no) == undefined) {
res.json({
message: '존재하지 않는 도감 번호입니다.'
})
} else {
res.json(db.get(no));
}
})
맵(Map)은 키-밸류 형태의 자료구조입니다.
객체와 비슷하다고 느낄 수 있는데, 여기에 차이점이 잘 정리되어 있습니다.
⭕ 존재하는 키 값 호출
❌ 존재하지 않는 키 값 호출
포스트를 끝까지 봐주셔서 감사합니다.
틀린 내용이 있다면 댓글로 지적 부탁드립니다!
'JavaScript' 카테고리의 다른 글
[Express] 폴더 구조 알아보기 (0) | 2024.09.03 |
---|---|
함수를 생성하는 여러가지 방법 (0) | 2024.09.03 |
구조 분해 할당! 나도 이제 중간 변수(temp) 없이? (0) | 2024.09.02 |
Node.js의 생태계 (0) | 2024.08.30 |
Express - 단순하게 API 제작하기 (0) | 2024.08.30 |