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에 추가한다.

   두개의 미들웨어는 실행해줘야 값을 가져올 수 있다.