[Nodejs] BodyParser MiddleWare

DongHwan·2021년 5월 19일
0

nodejs

목록 보기
5/11
post-custom-banner

BodyParser를 통해 클라이언트의 POST Request Data의 Body로부터 파라미터를 쉽게 추출할 수 있다.

설치

npm install body-parser

사용

const express = require('express');
const bodyParser = require('body-parser');

const app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}))

서버에 body 데이터 파싱을 위한 body-parser Middleware를 추가해준다.

json()application/json 형식의 데이터를 파싱한다. 또한, urlencoded()application/x-www-form-urlencoded 형식의 데이터를 파싱한다. html의 form 태그를 사용하여 POST 방식으로 요청하거나, JQuery의 ajax 요청을 할 때 Default Content-type이 application/x-www-form-urlencoded 이기에 미들웨어로 추가해주는 것이 좋다.

또한, urlencoded의 extended 옵션은 true일시 내부적으로 qs 라이브러리를 사용, false일시 내부적으로 querystring 라이브러리를 사용하여 URL-Encoded Data를 파싱한다. qs 라이브러리를 사용할 시, 전달되는 객체에 depth가 있을 경우 depth를 나누어 표현해주고, querystring의 경우 키 값에 depth를 모두 포함시킨다.

추가적으로 두가지 방식의 데이터 형식은 다음과 같다.

Content-Type: application/x-www-form-urlencoded
name=kim&age=20

Content-Type: application/json
{
  "name": "kim",
  "age": "20"
}

Express의 Built-in Body-Parser

Express v4.16.0 기준으로 Express에서도 Built-in body parser를 지원한다.
즉, body-parser 모듈을 사용할 필요가 없어졌다.

const express = require('express');
const app = express();

app.use(express.json());
app.use(express.urlencoded({extended: true}))
profile
날 어떻게 한줄로 소개해~
post-custom-banner

0개의 댓글