본문 바로가기
개발/Express

Express : res.end() res.send() res.json() 차이

by 안뇽! 2021. 9. 11.
반응형

res.end()

  • response 과정을 빠르게 끝낸다.
  • 데이터 처리 없이 빠르게 response를 끝낼때 사용한다.
  • 만약 data 처리가 필요하다면 res.send()나 res.json()을 사용하자

 

res.send()

 

매개변수 Content-type
Buffer Object application/octet-stream
String text/html
Array or Object JSON

 

res.json()

  • JSON을 응답으로 보낸다.
  • JSON.stringify(매개변수)한 값을 보낸다.

 

위에서 res.send()를 설명한 부분에 표를 보면 알겠지만, Object는 res.send()에 의해 자동으로 content-type이 JSON이 된다.

 

res.json()이 왜 필요하지? 어차피 res.send()쓰면 Object는 JSON으로 보내지는데? 라는 생각이 든다.

 

JSON은 String,Number,Object,Array,Boolean,Null 을 지원하지만, Function,Date,Undefined 등 지원하지 않는 타입이 있다.

 

이때 JSON.stringify() 메소드를 이용해 매개변수를 JSON string 형태로 변환한다. 그 후 res.send()를 호출하여 응답을 보낸다.

반응형