본문 바로가기
Nodejs

[Nodejs] 간단한 REST API 서버 만들기

by teamnova 2025. 1. 20.
728x90

RESTful API의 특징과 장점
REST(Representational State Transfer)는 웹에서 클라이언트-서버 간 데이터 전송을 처리하는 아키텍처 스타일입니다.

RESTful API의 주요 특징

  1. 리소스 기반:
    • 서버의 모든 데이터는 고유 URL로 식별됩니다.
    • 예: http://localhost:3000/products는 제품 데이터를 나타냅니다.
  2. HTTP 메서드 사용:
    • HTTP 메서드(GET, POST, PUT, DELETE 등)를 활용해 작업을 수행합니다.
      • GET: 리소스 조회
      • POST: 리소스 생성
      • PUT: 리소스 수정
      • DELETE: 리소스 삭제
  3. 무상태성:
    • 서버는 클라이언트의 이전 요청 상태를 기억하지 않음. 클라이언트는 매 요청마다 필요한 정보를 포함해 전송해야 함.
    • 확장성과 유지보수성이 뛰어납니다.
  4. 표준 응답 형식(JSON):
    • 데이터를 JSON 형식으로 주고받아 플랫폼 간 호환성이 좋습니다

왜 RESTful API를 사용해야 하나?

현대 애플리케이션 개발에서의 중요성

  • 다중 플랫폼 환경에서 클라이언트-서버 간 데이터 교환을 쉽게 처리하기 위한 표준화된 솔루션이 필요합니다.
  • RESTful API는 간단하면서도 데이터 전송 방식을 제공하여 대부분의 현대 웹 및 모바일 애플리케이션에서 사용됩니다.

비교: REST vs 다른 방식

  • SOAP: XML 기반의 무거운 프로토콜로, 구현과 유지보수가 복잡.
  • GraphQL: REST보다 유연하지만, 초심자에게는 학습 곡선이 높음.
  • REST는 학습과 구현이 쉬워, 중소규모 애플리케이션에 적합합니다.

 

1. 터미널에서 프로젝트를 초기화합니다

 

mkdir my-rest-api

cd my-rest-api

npm init -y

 

2. Express 설치합니다.

Express는 Node.js로 서버를 쉽게 만들 수 있게 해주는 프레임워크입니다. 다음 명령어로 Express를 설치합니다:

 

npm install express

 

3. 서버코드

const express = require('express');
const app = express();
const port = 3050;

// JSON 요청 본문을 처리하기 위한 미들웨어
app.use(express.json());

// 간단한 GET 엔드포인트
app.get('/', (req, res) => {
    res.send('Hello, World!');
});

// 사용자 목록을 반환하는 엔드포인트
let users = [
    { id: 1, name: 'Alice' },
    { id: 2, name: 'Bob' }
];

app.get('/users', (req, res) => {
    res.json(users);
});

// 새로운 사용자를 추가하는 POST 엔드포인트
app.post('/users', (req, res) => {
    const newUser = { id: users.length + 1, name: req.body.name };
    users.push(newUser);
    res.status(201).json(newUser);
});

// 특정 사용자를 삭제하는 DELETE 엔드포인트
app.delete('/users/:id', (req, res) => {
    const userId = parseInt(req.params.id, 10);
    users = users.filter(user => user.id !== userId);
    res.status(204).send();
});

// 서버 시작
app.listen(port, () => {
    console.log(`Server is running on http://localhost:${port}`);
});

 

4. 서버 실행

터미널에서 node index.js 을 입력하여 서버를 실행합니다.

 

실행이되면 아래의 사진처럼 Sever is running on.... 이렇게 나옵니다.

http://localhost:3050 을 복사하여 인터넷 주소창에 붙여넣고 접속해보기

 

시연영상