-
nodejs에서 request Body에 json 처리 & body 크기 제한NodeJS 2019. 2. 6. 16:29728x90
Express에서 post호출 시 request의 body에서 undefined가 발생한다.
다음과 같이 호출 했는데 결과가 undefined일 경우는 body-parser를 설정하지 않아서 이다.
# post 호출시, body에 {test:'hello"} 를 함께 전송 #router 소스 router.post('/', (req, res) => { console.log(req.body); undefined 발생 res.redirect('/'); });
처리 방법은 body-parser를 express에서 사용하도록 설정 하면된다.
# body-parser 설치 $> npm install --save body-parser #app.js 소스 const express = require('express'); const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser().json()); //bodyparser 사용 설정
이후 만나는 문제는 body의 크기가 크다는 오류를 만난 수 있다. 이때는 body의 크기를 옵션 설정하면 된다.
const bodyParser = require('body-parser'); app.use(bodyParser.json({limit: '50mb'})); //body 의 크기 설정 app.use(bodyParser.urlencoded({limit: '50mb', extended: true})); //url의 크기 설정
추가로 express 4.16부터는 body-parser를 포함 하고 있다.
const express = require('express') const app = express(); app.use(express.json()) app.post('/', (req, res) => { console.log(req.body) })
알아두자
참고 자료
728x90'NodeJS' 카테고리의 다른 글
nodejs를 이용하여 web push 몇가지 주요 사항 (0) 2019.07.06 Async 모듈을 이용한 비동기 처리 (0) 2019.05.26 Node 모듈 설치시 오류시 해결 방법 (1) 2019.02.06 pm2 cluster mode 특징 (0) 2019.02.06 Vuejs를 express로 배포 후 vuejs route 동작 처리 (0) 2019.02.06