Express는 Node.js를 위한 Web framework
순정 Node.js만을 이용해서 개발할 때보다 훨씬 간단하게 서버를 만들 수 있다.
라우팅은 특정 URI나 HTTP 메소드에 따른 엔드포인트에서의 요청에 대해 어떻게 응답을 할지 결정하는 것을 말한다.
const express = require("express")
const app = express()
const port = 3000
const data = require("./data.json")
//data.json 파일은 배열 형태로 저장되어 있다고 가정하자
app.get('/', (req, res) => res.status(200).send(data))
//root URI로 get 요청이 왔을 때 200상태코드와 data을 보내준다.
app.get('/users',(req, res) => res.status(404).send())
// /users URI로 get 요청이 왔을 때 404상태코드를 보내준다.
app.get('/:id', (req, res) => res.status(200).send(data.find(element => element.id === Number(req.params.id))))
//URI 파라메터 처리
// /id URI로 get 요청이 왔을 때 200상태코드와 data에 동일한 id를 가지고 있는 데이터를 보내준다.
app.post('/', (req, res) => res.send(200, "posting success!!"))
app.put('/', (req, res) => res.send(200, "modifying success!!"))
app.delete('/', (req, res) => res.send(200, "delete success!!"))
//HTTP 메소드에 대응하는 express의 메소드들이 존재한다.
app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`))
//서버 실행