따라하며 배우는 노드, 리액트 기본 강의를 듣고 정리한 내용입니다.
body-parser란?
node.js 미들웨어 중 하나로 client에서 오는 정보를 server에서 분석해서 가져올 수 있게 해주는 역할을 한다.
npm > body-parser 문서를 읽어보면 req.body의 모양은 사용자가 입력하는 것을 기반으로 하기 때문에 req.body의 모든 속성과 값은 신뢰할 수 없으며 신뢰하기 이전에 검증 과정을 거쳐야 한다고 한다.
따라서 이 검증 과정을 body-parser가 해주기 때문에 body-parser를 사용해야 req.body를 사용할 수 있는 것이다.
body-parser 설치
body-parser는 터미널 창에 다음의 명령어를 입력해 설치할 수 있다.
npm install body-parser --save
그러나 현재 express 4.17.1 버전에서는 body-parser 기능을 express 내에 두어 따로 설치할 필요는 없다.
인터넷에 찾아보니 express 4.16.0 버전부터 내장했다고 하는데 가끔 다시 분리하는 경우도 있는 것 같다.
나는 4.17.1 버전을 사용하기 때문에 따로 설치하지는 않고 express 내의 기능을 사용하는 중이다.
body-parser 사용
express 내에 있는 body-parser를 사용할 것이라면 다음과 같은 방식으로 사용할 수 있다.
app.use(express.json());
app.use(express.urlencoded( { extended : true } ));
하지만 body-parser를 따로 설치해서 사용하는 버전이라면 다음과 같이 사용해야 한다.
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({ extended: false }))
app.use(bodyParser.json())
처음에는 express 내에서 제공하는 줄 모르고 body-parser 설치 후 위와 같이 선언했더니 bodyParser부분에 줄이 그어지면서 사용할 수 없다고 떴었다.
만약 내가 겪은 상황과 동일한 상황을 겪고 있다면 bodyParser를 선언한 부분을 지우고 express 내에 있는 기능을 사용하도록 선언해주면 된다.
body-parser에 대한 더 자세한 내용은 다음 링크에서 확인할 수 있다.
https://www.npmjs.com/package/body-parser
'Node.js' 카테고리의 다른 글
boilerplate(server) - 회원가입 기능 만들기 (0) | 2021.05.08 |
---|---|
bcrypt - 암호 해시 함수 (0) | 2021.05.08 |
nodemon - Node.js 개발 도구 (0) | 2021.05.08 |
MongoDB 연결하기 (0) | 2021.05.06 |
Express 시작하기 (0) | 2021.05.06 |
댓글