body-parser 모듈
node.js 와 mysql 연동하는 와중에 서버를만들고 DB에있는 데이터를 가져오는데는 성공했다
db에 post하려는데,,에러만나서 엄청난 삽질을한기억이있다..일단 결과만보자면 body-parser없이는 post,put 불가능했던것이였다..
const{ name , age } = req.body;
이런식으로 받아야하는데 오류가 나는것은 파싱이안된상태라서 그랬던것이다..
클라이언트 측에서 Json형태의 바디를보내면 req.body.name , req.body.age 데이터로 접근을 할수 있게 되는것!
const express = require('express');
const server = express();
//바디파서 ㅠㅠ post.put 파싱 ㄱㄱ
server.use(express.json());
// server.use(express.urlencoded( {extended : false } ));
const mysqlConnection = require('./database');
server.get('/' , (req,res) =>{
mysqlConnection.query('select * from customer' , (err , rows , field) => {
if(!err){
res.json(rows);
console.log(rows);
}else{
res.json(err);
console.log(err);
}
})
});
server.post('/' , (req,res) => {
const {name , age} = req.body;
console.log('req.body : '+req.body.name);
mysqlConnection.query('insert into customer(name , age) values (? ,?)', [name,age], (err,rows,field) => {
if(!err){
res.json({State:"Saved!"})
}else{
console.log(err);
}
})
});
server.listen(3000 , () => console.log('server on port 3000!'));