[Express] res.send() vs res.json()

Date:

Updated:

Categories:


응답을 보내는 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이라는 것을 쉽게 예측할 수 있도록 하는 것이 좋다!