Node.js

body-parser 모듈

정후닝 2020. 5. 2. 10:57

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!'));