반응형
1. body-parser 란?
노드에서 쓰이는 모듈로 클라이언트 POST request data 의 body 로 부터 파라미터를 편리하게 추출한다.
모든 모듈을 컨트롤하는 app.js 에서만 쓰는 것이 아니라 viewer 를 연결하는 router.js 에서도 쓸 수 있다
처음에 app.js 에서만 사용하는 줄 알았지만 viewer 를 연결하는
router.js 에서도 사용해야 body-parser 가 데이터를 제대로 전달 할수 있다.
그렇지 않으면 undifined 가 뜨면서 데이터가 전달되지 않는다.
2. 사용법
- 설치
$ npm install body-parser
- API 사용
var bodyParser = require('body-parser')
The bodyParser object exposes various factories to create middlewares. All middlewares will populate the req.body property with the parsed body when the Content-Type request header matches the type option, or an empty object ( {} ) if there was no body to parse, the Content-Type was not matched, or an error occurred.
설명을 보면 body-parser 는 requset header 의 Content-Type 에 데이터 format 을 지정하면 그에 맞게 데이터를 전달하는 것 같다. 기본 값은 json 이다. 사용법은 아래처럼 해주면 된다.
나의 경우에는 node 의 fetch 를 사용하기 때문에 아래와 같이 데이터를 전달한다.
fetch('/hahaha', {
method : "POST",
headers : {
"Content-Type" : "application/json"
},
- Example
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/x-www-form-urlencoded
app.use(bodyParser.urlencoded({ extended: false }))
// parse application/json
app.use(bodyParser.json())
app.use(function (req, res) {
res.setHeader('Content-Type', 'text/plain')
res.write('you posted:\n')
res.end(JSON.stringify(req.body, null, 2))
})
항상 express 과 같이 사용하는 것을 명심하자.
express 는 node 에서 서버를 실행할 때 꼭 필요한 모듈이기 때문이다.
3. 참고 링크
https://www.npmjs.com/package/body-parser
반응형
'Back End > Node.js' 카테고리의 다른 글
[Node.js] node 에서 mongodb 권장 이유 ( ? ) (0) | 2021.10.21 |
---|---|
[Node.js] 사용 패키지 정리 3 - Express (0) | 2021.10.21 |
[ Node.js ] 중요 개념 - Event Loop (0) | 2021.10.20 |
[ Node.js ] db 데이터를 chart.js에 적용하여 그래프 만들기 (0) | 2021.09.29 |
[Node.js] 디버깅 방법 (0) | 2021.09.15 |