WEB/Node.JS
[Node.js] express로 간단한 API 서버 만들기
우와왕고기다
2023. 11. 10. 15:32
게시판 API 코드 작성하기
- / : 게시판 목록을 가져온다.
- /posts : 게시판 글을 쓴다.
- /posts/:id : 게시글 아이디가 id인 글을 삭제한다.
const express = require("express");
const app = express();
const port = 3000;
let posts = [];
app.use(express.json());
app.use(express.urlencoded({extended: true}));
app.get("/", (req, res) =>{
res.json(posts);
});
app.post("/posts", (req, res) =>{
const {title, name, text} = req.body;
posts.push({id: posts.length + 1, title,name, text, createDt: Date()});
console.log(req.body);
});
app.delete("/posts/:id", (req, res) =>{
const id = req.params.id;
const filterdPosts = posts.filter((post) =>{
return post.id !== +id;
});
const isLengthChanged = posts.length !== filterdPosts.length;
posts = filterdPosts;
if(isLengthChanged){
res.json("OK");
return;
}
res.json("Not Changed");
});
app.listen(port, () =>{
console.log(`http://localhost:${port}`);
});
1.posts에 빈 리스트 할당한다.
2.express.json() 미들웨어를 활성화한다. app.use()는 미들웨어를 사용할 때 사용하는 함수이다.
express.json()을 안해주면 req.body의 값이 undefined가 나온다 .
express.urlencoded({extended: true}) : 쿼리스트링의 값들을 객체형으로 req.body에 추가한다.
두개의 미들웨어는 실행해줘야 값을 가져올 수 있다.