- Express란?
- Express 시작하기
Node.js를 위한 웹 프레임워크 중 하나로 웹 애플리케이션, API 개발을 위해 설계되었다. 즉, 서버측에서 애플리케이션을 쉽게 구축하고 관리할 수 있게 도와주는 도구이다.
npm install express
app.METHOD(PATH, HANDLER)
이와 같은 형식으로 작성한다
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => { // '/'앞에 http://localhost:3000 생략
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
만약 책 제목, 가격, 설명 등 책에 대한 데이터를 보내줄 때 문자열로 함께 보내준다면, 어디서부터 어디까지 책 제목이고 가격, 설명인지 이해하기 힘들어 프론트에서 처리하기 힘들어진다.
그래서 Json이라는 객체에 책에 대한 데이터를 담아 한꺼번에 보내준다
const express = require('express')
const app = express()
const port = 3000
let nodeJsBook = {
title : "Node.js를 공부해보자",
price : 20000,
description : "이 책 좋음"
}
app.get('/', (req, res) => {
res.json(nodeJsBook)
})
app.listen(port, () => {
console.log(`Example app listening on port ${port}`)
})
위처럼 response에 nodeJsBook이라는 객체를 담아 보낼 수 있다
JSON(Javascript Object Notation)이란?
직역하면 자바스크립트로 객체를 표기하는 방법이다
자바스크립트 객체가 어떤 형태인지 알려주고, key-value 형태로 구성되어있다
만약 1~1000까지의 상품 정보들을 응답받고 싶을 때 'products/1'과 같이 고정된 주소만 사용가능하다면, 1~1000까지 하드코딩해야하는 어려움이 있다.
이 때, 'products/'뒤의 숫자 부분을 매개 변수로 받는다면, 코드를 중복하여 하드코딩할 필요 없이 매개변수에 해당하는 정보를 보내줄 수 있다
app.get("/products/:n", function (req, res) {
res.json({
num: req.params.n,
});
});
위처럼 ':' 뒤에 오는 값을 params에 담아 보내준다
params에 담겨진 매개 변수를 이용해 필요한 데이터를 찾아 응답할 수 있다