[Node.js] res.send([body]) 인자값 자료형 에러

[Node.js] res.send([body]) 인자값 자료형 에러

res.send([body])의 인자값 관련 에러


코드 내용

1
2
3
4
sql = 'SELECT * FROM user WHERE name=?';
conn.query(sql, [writerName], function(err, user, fields){
	res.send(user[0].id);
});

에러 내용

1
2
express deprecated res.send(status):    
Use res.sendStatus(status) instead app.js:70:7

원인

Express api reference에 의하면 res.send([body])의 인자값으론 Buffer object, String, object, Array만 가능한데 위의 코드에선 인자값으로 Integer 값이 들어갔기 대문에 오류 발생.

해결법

toString()을 이용하여 해결 가능하다.

1
2
3
4
sql = 'SELECT * FROM user WHERE name=?';
conn.query(sql, [writerName], function(err, user, fields){
	res.send(user[0].id.toString());
});

comments powered by Disqus