node.js REST API에서 PUT으로 JSON 데이터 받을 때 undefined로 나오는 문제

참고 : http://cooldragon.tistory.com/124

 

node.js에서 다음과 같은 put function을 구현하였다.

간단히 전달 받은 status를 출력하는 function이다.

router.put('/', function(req, res) {
        var status = req.body.status;

        console.log("status : " + status);
        res.send();
});

그리고 PUT 명령으로 다음과 같은 JSON 객체를 보냈다.

{
    "status": "0"
}

body에 위 객체만 보냈을 때 server 에서는 status 값이 undefined로 출력되었다.

 

해당 문제는 PUT method 전송 시 HTTP Headers를 지정하지 않아 발생한 것이다.

HTTP Headers에 다음을 입력하여 정상 결과를 얻을 수 있다.

 

Content-Type: application/json

 

Leave a Reply