[TIL] body-parser

sunriseGong·2021년 10월 28일
0

body-parser 의 역할은?

요청의 본문(body)의 데이터를 해석해서
req.body 객체로 만들어주는 미들웨어 입니다.

보통 '폼 데이터(URL-encoded)'나
'AJAX 요청(JSON)' 의 데이터를 처리 합니다.

멀티파트(이미지, 동영상, 파일) 데이터는 처리 못합니다.


body-parser 사용예시

app.use(express.json());
app.use(express.urlencoded({ extended: false }));

express.json()

JSON payloads(요청시 body 에 담겨오는 JSON 형식의 데이터)를
바디파서를 기반으로 분석하고 req.body 객체로 만들어줍니다.

express.urlencoded({ extended: false }))

form submit 했을 때 urlencoded 방식으로 데이터가 넘어오는데
그 데이터를 바디파서를 기반으로 분석하고 req.body 객체로 만들어줍니다.

urlencoded 의 형태 :
&으로 분리되고 '=' 기호로 키와 값을 연결하는 형태의 데이터로
쿼리스트링과의 차이점은
url 뒤에 붙는 것이 아니라
body 에 들어가는 데이터라는 것입니다.

extended 옵션 :
객체 형태로 전달된 데이터 내에서 또다른 중첩된 객체를
true : 허용
false : 허용하지 않음


body-parser 는 설치가 필요한가요?

익스프레스 4.16.0 버전부터
body-parser 의 일부 기능이
익스프레스에 내장되었으므로

Raw, Text 형식의 데이터를 다루지 않는다면
따로 설치할 필요가 없습니다.

Raw : 요청의 본문이 ‘버퍼 데이터’일 때 해석
Text : 요청의 본문이 ‘텍스트 데이터’일 때 해석

raw, text 사용예시 :
설치 : npm i body-parser

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

참고 : https://thebook.io/080229/ch06/02/03/

profile
심심해야 공부하게 된다.

0개의 댓글