[express.js] res.json과 res.send의 차이점

김민재·2024년 3월 29일

express.js

목록 보기
3/39

res.send와 res.json의 차이점

  • res.send와 res.json은 기능상 거의 동일하다.

res.json

  1. 먼저 obj는 JSON 문자열로 변환
  2. Content-Type 헤더가 세팅되지 않았을 경우 this(res 객체)에 Content-Type으로 application/json을 세팅
  3. res.send(body)를 실행
  • res.json(object) - res.send(string)

res.send

  1. body의 타입 체크
  2. object일 경우 res.json 호출
    하지만 res.json에서는 문자열로 변환 후 res.send를 다시 호출 하기 때문에 여기서 한 번 더 호출이 일어난다.
  • res.send(object) - res.json(object) - res.send(string)

결론

  • 실제 차이를 외부에서 보기에는 차이가 없지만, 내부에서 호출 한 번이 더 일어난다. 그래서 object를 보낼 땐 res.json()을 이용하는 게 더 직관적이고 호출을 줄일 수 있다.
profile
개발 경험치 쌓는 곳

0개의 댓글