Semantic URL

non-semantic(original) and semantic(clean) url
  • ๋ผ์šฐํ„ฐ ์„ค์ • : parameter๋กœ ๊ฐ’์„ ์ „์†กํ•  /topic/:id = ../topic/๋’ค์— ์˜ค๋Š” ์ˆซ์ž๋Š” id์ด, ์–ด๋–ค ์ˆซ์ž๊ฐ€ ์˜ค๋“  ์ด๊ฒƒ์€ id๋ฅผ์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ ๊ฐ™์€ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ด๊ฒƒ์€ request์˜ params์˜ ๊ฐ์ฒด์˜ id ์†์„ฑ์„ ๊ฐ€์ง„๋‹ค. - req.params.id

app.get('/topic/:id',(req,res)=>{//express๊ฐ€ ์ต๋ช…ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•œ๋‹ค.
    var topics = [//์‹ค์ œ๋กœ๋Š” ์ด ๋ถ€๋ถ„์— ํŒŒ์ผ์ด๋‚˜ DB๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.
        'Javascript is...',
        'Nodejs is...',
        'Express is...'
    ];
    var str = `
        <a href="/topic?id=0">JavaScript</a><br>
        <a href="/topic?id=1">Nodejs</a><br>
        <a href="/topic?id=2">Express</a><br>
        ${topics[req.params.id]}
    `;

    //topics[index] : index์— ํ•ด๋‹นํ•˜๋Š” ๊ฒƒ์€ query string์œผ๋กœ ๋ฐ›๋Š” req.query.id์ด๊ธฐ ๋•Œ๋ฌธ์—
    var output = str + topics[req.query.id];
    res.send(output);
});

Last updated

Was this helpful?