본문 바로가기

개발/NODE

express body-parser 관련

express body-parser에서 post 요청시 content-type이 application/x-www-form-urlencoded인 경우 json 형태의 body값이 이상하게 변환되었다


기존 body-parser 형태

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


위의 경우 body-parser에서 application/x-www-form-urlencoded 대한 처리를 못하는 것 같아 구글 검색 후

아래 형태를 추가하여 처리하도록 수정하였다


app.use(
bodyParser.raw({ type: 'application/x-www-form-urlencoded' }),
function (req, res, next) {
try {
req.body = JSON.parse(req.body)
} catch (err) {
log.info('application/x-www-form-urlencoded JSON PARSE ERROR : ', err);
req.body = require('qs').parse(req.body.toString());
}
next();
}
);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));


처음에 application/x-www-form-urlencoded에 대한 처리를 하고

그 다음이 json 형태 체크

그 다음이 urlencoded이다

'개발 > NODE' 카테고리의 다른 글

node에 c/c++ 코드 붙이기  (0) 2016.10.17
이클립스에서 Node 설정  (0) 2016.10.13
node update  (0) 2016.10.12
node를 사용하여 ffmpeg 이용하여 ebur128 기준 인코딩  (0) 2016.08.01
Node Express를 이용한 Cookie Set  (1) 2016.03.16