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 |