본문 바로가기
개발

🛠 실습으로 배우는 Express 기반 REST API 만들기

by 비트-바이트 2025. 3. 26.
반응형


📌 개요

Node.js를 이용해 백엔드를 만들 때 가장 많이 쓰이는 프레임워크가 바로 Express.js입니다.
이번 포스팅에서는 Express를 이용해 간단한 REST API 서버를 만드는 방법을 실습 형태로 알려드릴게요.

  • 설치부터 시작해서
  • 라우팅 구조 설계
  • JSON 데이터 처리
  • CRUD API 완성

까지 차근차근 따라올 수 있습니다.


🧠 핵심 개념

🚀 Express란?

  • Node.js에서 동작하는 웹 프레임워크
  • 라우팅, 미들웨어, 에러 처리 등을 간단하게 처리 가능
  • REST API 설계에 적합한 구조 제공

🌐 REST API란?

  • URI(자원) + HTTP 메서드로 동작하는 API 패턴
  • 예:
    • GET /posts → 글 목록 가져오기
    • POST /posts → 새 글 등록하기
    • DELETE /posts/:id → 특정 글 삭제하기

💡 실전 팁 또는 실습

📁 1단계: 프로젝트 생성

mkdir my-rest-api
cd my-rest-api
npm init -y
npm install express

🧱 2단계: 기본 서버 코드 작성

// index.js
const express = require('express');
const app = express();
const PORT = 3000;

app.use(express.json()); // JSON 파싱

app.get('/', (req, res) => {
  res.send('Hello REST API!');
});

app.listen(PORT, () => {
  console.log(`Server is running at http://localhost:${PORT}`);
});


실행:

node index.js

📚 3단계: 간단한 CRUD API 만들기

let posts = [
  { id: 1, title: "첫 번째 글" },
  { id: 2, title: "두 번째 글" }
];

// 전체 글 조회
app.get('/posts', (req, res) => {
  res.json(posts);
});

// 단일 글 조회
app.get('/posts/:id', (req, res) => {
  const post = posts.find(p => p.id === Number(req.params.id));
  post ? res.json(post) : res.status(404).send("글 없음");
});

// 글 추가
app.post('/posts', (req, res) => {
  const newPost = {
    id: posts.length + 1,
    title: req.body.title
  };
  posts.push(newPost);
  res.status(201).json(newPost);
});

// 글 삭제
app.delete('/posts/:id', (req, res) => {
  posts = posts.filter(p => p.id !== Number(req.params.id));
  res.status(204).send();
});


실행:

node index.js

🧪 테스트 방법

Postman 또는 curl로 테스트 가능:

# 전체 글 조회
curl http://localhost:3000/posts

# 글 등록
curl -X POST -H "Content-Type: application/json" -d '{"title": "새 글"}' http://localhost:3000/posts

✅ 마무리

Express는 배우기 쉽고 빠르게 API 서버를 만들 수 있어 토이 프로젝트, 포트폴리오, MVP 제작에 매우 적합한 프레임워크입니다.

기초부터 차근차근 실습하며 익히다 보면,
JWT 인증, DB 연결, 미들웨어 분리 등 고급 기능도 쉽게 확장할 수 있습니다.


📎 다음 글 예고

  • Swagger로 REST API 문서 자동화하기
  • Express + MongoDB 연결 실습
  • JWT로 사용자 인증 API 만들기
반응형