[Express] res.send() vs res.json()
응답을 보내는 Method
Express에서 res.json()
, res.send()
, res.end()
와 같이 응답을 보내는 Method가 다양하게 존재한다.
res.send()
res.send(body)
에서 body 인자에는 Buffer, String, Object, Array 사용이 가능하다. 전달되는 body 인자에 따라 자동으로 Content-Type 응답 header가 정해지며, default type은 text/html
이다.
res.json()
res.json()
은 JSON 형식이 아닌 데이터도 JSON 형식으로 변환하여 보내준다. 즉, Content-Type header를 application/JSON
으로 고정한다.
그렇다면 어떤 것을 사용해야 할까?
사실상 res.send()
와 res.json()
이 하는 기능은 동일하다. 하지만 JSON type을 전달하는 상황에서는 res.json()
을 사용하여 응답 data type이 JSON이라는 것을 쉽게 예측할 수 있도록 하는 것이 좋다!