JSON은 JSON 형식의 데이터 전달 방식
URL-encoded는 주소 형식으로 데이터를 보내는 방식
폼 전송은 URL-encoded 방식을 주로 사용
urlencoded({extended: false}) :
extended:false면 노드의 querystring 모듈을 사용하여 쿼리스트링을 해석
extended:true면 qs 모듈을 사용하여 쿼리스트링을 해석
qs 모듈은 내장 모듈이 아니라 npm 패키지이며,
querystring 모듈의 기능을 좀 더 확장한 모듈입니다
요청의 body를 스트림 형식으로 받음 => 로 데이터를 받음
let body = "";
(req, res) => {
req.on("data" ,(data)=> {
body += data;
}
)
req.on('end', ()=>{
const data = JSON.parse(body); // object
})
}
body-parser를 사용하면 위의 코드가 필요없음. 알아서 처리해줌 app.use(bodyParser)
eg.
1-1. JSON 형식으로 { name: 'zerocho', book: 'nodejs' } 요청
1-2. req.body = { name: 'zerocho', book: 'nodejs' }
2-1. URL-encoded 형식으로 name=zerocho&book=nodejs
2-2. req.body = { name: 'zerocho', book: 'nodejs' }