Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

Node.js Express의 send(), sendStatus(), json() 메서드 완벽 가이드

Express.js에서 send()json() 함수는 서버가 클라이언트에 응답(response)을 직접 전송할 때 사용되는 핵심 메서드입니다. send()는 데이터를 문자열(string) 형태로 전송하며, json()은 동일한 데이터를 JSON 형식으로 변환해 전송합니다. 또한 sendStatus() 메서드는 클라이언트에 HTTP 응답 상태 코드를 전달하는 역할을 담당합니다.

대표적인 HTTP 상태 코드는 다음과 같습니다.

  • 200 – 성공(Success)
  • 201 – 생성됨(Created)
  • 404 – 찾을 수 없음(Not Found)
  • 503 – 서버 접근 불가(Server Unreachable)

사전 준비 사항

  • Node.js
  • Express.js

Express 모듈 설치

아래 명령어를 실행해 express 모듈을 설치합니다.

npm install express

예제 1 — sendStatus()

sendStatus.js 파일을 생성한 뒤 아래 코드를 붙여넣습니다. 이후 다음 명령어로 코드를 실행합니다.

node sendStatus.js

sendStatus.js

// express 모듈 가져오기
const express = require('express');
const app = express();

// '/' 경로에 대한 응답 처리
app.get('/' , (req,res)=>{
   // 상태 코드: 200 (OK)
   res.sendStatus(200);
})

// 3000번 포트에서 서버 구동
app.listen(3000 , ()=>{
   console.log("server running");
});

실행 결과

C:\home\node>> node sendStatus.js

이제 브라우저에서 https://localhost:3000 에 접속하면 상태 코드 200(OK)이 반환된 것을 확인할 수 있습니다.

Node.js Express의 send(), sendStatus(), json() 메서드 완벽 가이드

예제 2 — send()

send.js 파일을 생성하고 아래 코드를 작성한 후, 다음 명령어로 실행합니다.

node send.js

send.js

// express 모듈 가져오기
const express = require('express');
const app = express();

// 헤딩 문구 초기화
var heading = "Welcome to TutorialsPoint !";

// '/' 경로에 대한 응답 처리
app.get('/' , (req,res)=>{
   // 헤딩 텍스트 전송
   res.send(heading);
})

// 3000번 포트에서 서버 구동
app.listen(3000 , ()=>{
   console.log("server running");
});

실행 결과

C:\home\node>> node send.js

브라우저에서 https://localhost:3000 으로 접속하면 화면에 환영 문구가 출력됩니다.

Node.js Express의 send(), sendStatus(), json() 메서드 완벽 가이드

예제 3 — json()

json.js 파일을 생성하고 아래 코드를 작성한 뒤, 다음 명령어로 실행합니다.

node json.js

json.js

// express 모듈 가져오기
const express = require('express');
const app = express();

// JSON 데이터 초기화
var data = {
   portal: "TutorialsPoint",
   tagLine: "SIMPLY LEARNING",
   location: "Hyderabad"
}

// '/' 경로에 대한 응답 처리
app.get('/' , (req,res)=>{

// JSON 데이터 전송
res.json(data);
})

// 3000번 포트에서 서버 구동
app.listen(3000 , ()=>{
   console.log("server running");
});

실행 결과

C:\home\node>> node json.js

브라우저에서 https://localhost:3000 에 접속하면 JSON 형식의 데이터가 그대로 출력되는 것을 확인할 수 있습니다.

Node.js Express의 send(), sendStatus(), json() 메서드 완벽 가이드

마무리 정리

세 메서드의 차이를 간단히 요약하면 다음과 같습니다. send()는 문자열, HTML 등 다양한 타입의 응답을 유연하게 전송할 수 있고, json()은 객체를 자동으로 JSON 문자열로 직렬화하며 Content-Type을 application/json으로 설정합니다. sendStatus()는 별도의 본문 없이 상태 코드만 클라이언트에 전달할 때 유용합니다. 상황에 맞게 적절한 메서드를 선택하면 RESTful API 개발 시 응답 처리 로직을 더욱 깔끔하게 구현할 수 있습니다.