Node.js의 Express를 이용하여 POST JSON을 받아보자.
우선, json 인코더를 Express에게 사용할 것이라고 알려줘야한다.
app.use(express.json())
app.use(express.urlencoded({extended: false}))
이렇게 json을 사용할 것이고, extended를 사용하지 않을 것이라고 하면 기존 디폴트 값으로 인코딩을 하게 된다.
우선, 기본적인 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)
})
}
}
}
})