TIL - Express POST JSON

Younkyum J·2022년 8월 7일
0

TIL

목록 보기
5/10

Node.js의 Express를 이용하여 POST JSON을 받아보자.

app.use()로 선언하기

우선, json 인코더를 Express에게 사용할 것이라고 알려줘야한다.

app.use(express.json())
app.use(express.urlencoded({extended: false}))

이렇게 json을 사용할 것이고, extended를 사용하지 않을 것이라고 하면 기존 디폴트 값으로 인코딩을 하게 된다.


POST 받기

우선, 기본적인 post를 받는 방식은 다음과 같다.

app.post('/', function (req, res) {
}

여기서 req는 Request, res는 Response를 의미하며, req는 POST로 보내진 값, 그리고 res는 그 값을 받았을 때 보낼 반응이라고 생각하면 된다.

여기까지 되었다면, post로 받아온 req 값을 사용해보자.

만약 MySQL에서, user이라는 테이블에서 특정 id를 가진 사용자가 일어났음을 표시하는 코드를 작성한다고 해보자.

우선, 보내질 값은 다음과 같다.

{
  "user_id": 3
  "is_wake_up": 1
}

그러면, Post를 이용하여 다음과 같이 구문을 작성해주면 된다.

app.post(`/user/wake`, function (req, res) {
  db.query(`UPDATE user SET is_wake_up=? WHERE user_id=?`, [req.body.is_wake_up, req.body.user_id], (err, data) => {
    if (err) res.send(err)
    else {
      if (req.body.user_id) {
        db.query(`SELECT * FROM user WHERE user_id=?`, [req.body.user_id], (err, data) => {
          if (!err) res.send(data)
          else res.send(err)
        })
      }
    }
  }
})
profile
기획자입니다. 근데 이제 고양이와 애플덕후와 개발을 곁들인.

0개의 댓글