package.json 만들기
npm init -y
express 설치
npm install express
server.js 파일을 생성 후, 시작점 만들기
express를 사용하지 않았을 경우
const server = http.createServer((req, res) => {
res.writeHead(200, {
"Content-Type": "text/plain",
});
res.end("Hello!");
});
server.listen(PORT, () => {
console.log(`listening on port ${PORT}...`);
});
express를 사용할 경우
// express 모듈 불러오기
const express = require("express");
// 포트, 호스트 지정(호스트는 안 해줘도 됨)
const PORT = 8080;
const HOST = "0.0.0.0";
// 새로운 Express 어플 생성
const app = express();
// / <- 경로로 요청이 오면 Hello World를 결과값으로 전달
app.get("/", (req, res) => {
res.send("Hello World");
});
// 해당 포트와 호스트에서 HTTP 서버 시작
app.listen(PORT, HOST);
console.log(`Running on http://${HOST}: ${PORT}`);
링크주소 로 가면 밑의 사진과 같이 나오는 것을 확인할 수 있다!
const Users = [
{
id: 1,
name: "chaeyeon",
},
{
id: 2,
name: "sihyeon",
},
{
id: 3,
name: "suyeon",
},
];
app.get("/users", (req, res) => {
res.send(Users);
});
링크 주소 가면 확인 가능!
웹 애플리케이션에서 동적으로 생성되는 URL의 일부를 나타내는 매개변수
예를들어 아래의 URL 파라미터가 존재한다.
/blog/:id
위 패턴은 "/blog/" 뒤에 오는 동적인 값을 캡처하는 라우트 파라미터이다. 여기서 ":id"는 임의의 블로그 게시물 식별자를 나타내는 값을 가질 수 있다. 예를 들어, "/blog/123"은 게시물 ID가 123인 블로그 게시물에 대한 요청을 나타낸다.
app.get("/users/:userId", (req, res) => {
// 받아온 userId를 number로 변환(string으로 들어올 경우 방지)
const userId = Number(req.params.userId);
// Users 배열 인덱스에서 찾아냄
const user = Users[userId];
// user가 있다면 출력, 없다면 404
if (user) {
res.json(user);
} else {
res.sendStatus(404);
}
});
링크 주소 에 가면 확인 가능
보내는 데이터가 없을 때 사용(ex. 404 페이지)