프로그래밍 언어/NODE JS

body-parser

· 코딩마이데이

요청의 본문에 있는 데이터를 해석해서 req.body 객채로 만들어주는 미들웨어입니다. 보통 폼 데이터나 AJAX 요청의 데이터를 처리합니다. 단, 멀티파트(이미지, 동영상, 파일) 데이터는 처리하지 못합니다. 이 경우에는 뒤에 나오는 multer 모듈을 사용하면 됩니다.

body-parser 미들웨어는 다음과 같이 사용합니다.

app.use(express.login());
app.use(express.urlencoder({ extended: false }));

 

body-parser를 직접 설치해야 하는 경우도 있습니다. body-parser는 JSON과 URL-encoded 형식의 데이터 외에도 Raw, Text 형식의 데이터를 추가로 해셕할 수 있습니다.

Raw는 요청의 본문이 버퍼 데이터일 때 해석하는 미들웨어입니다. 버퍼는 텍스트 요청을 처리할 요청을 처리할 필요가 있다면 body-parser를 설치한 후 다음과 같이 추가합니다.

콘솔

$ npm i body-parser

 

const bodyParser = require('body-parser');
app.use(bodyParser.raw());
app.use(bodyParser.text());

 

JSON은 JSON 형식의 데이터 전달 방식이고, URL-encoded는 주소 형식으로 데이터를 보내는 방식입니다. 폼 전송은 URL-encoded 방식을 주로 사용합니다. urlencoded 메서드를 보면 { extended: false }라는 옵션이 들어 있습니다. 이 옵션이 false면 노드의 querystring 모듈을 사용하여 쿼리스터링을 해석하고, true면 qs 모듈을 사용하여 쿼리스트링을 해석합니다. qs 모듈은 내장 모듈이 아니라 npm 패키지이며, querystring 모듈의 기능을 좀 더 확장한 모듈입니다.

 

'프로그래밍 언어 > NODE JS' 카테고리의 다른 글

expression-session  (0) 2025.06.26
cookie-parser  (0) 2025.06.22
static  (0) 2025.06.16
morgan  (0) 2025.06.16
자주 사용하는 미들웨어  (0) 2025.06.13