express로 동적 라우팅을 해보고자 한다.
const express = require("express");
const app = express();
const users = ["Tom", "Andy", "Jessica", "Paul"];
app.get("/", (request, response) => {
response.end("<h1>Welcome!</h1>");
});
app.get("/users", (request, response) => {
response.end(`<h1>${users}</h1>`);
});
app.get("/users/:id", (request, repones) => {
const userName = users[request.params.id - 1];
repones.end(`<h1>${userName}</h1>`);
});
app.get("*", (request, repones) => {
repones.end("<h1>Page Not Avaliable</h1>");
});
app.listen(3000);
이름이 적힌 배열이 있고 이 배열에 이름들을 동적 라우팅을 해주고 한다.
get메소드 첫 번째 url에 "users/:id"라는 url을 사용하면 :id부분이 동적 라우팅이 가능하다. "users/1"이라는 url을 넣어주면 request객체에 params객체가 있다. 이 객체 안에 id라는 키와 1이라는 값으로 이루어진 속성이 생긴다. 그 객체의 속성을 불러와서 -1해주고 그 값의 인덱스와 맞는 요소를 보여주다.