Express.js로 간단한 REST API 만들기 — 올바른 방법

발행: (2026년 2월 6일 오전 01:20 GMT+9)
3 min read
원문: Dev.to

Source: Dev.to

Cover image for Building a Simple REST API with Express.js — The Right Way

대부분의 Node.js 개발자는 백엔드 개발을 배우면서 Express부터 시작합니다. 하지만 경험이 풍부한 개발자조차도 확장성, 유지보수성 및 보안에 영향을 미치는 핵심 아키텍처 결정을 간과하는 경우가 많습니다.

오늘은 Express.js를 사용해 깔끔하고 모듈화된 REST API를 만드는 과정을 살펴보겠습니다. 다룰 내용은 다음과 같습니다:

  • API 구조
  • 라우팅
  • 컨트롤러
  • 미들웨어
  • 오류 처리
  • 환경 설정

🧱 Project Structure

깨끗한 구조로 시작합니다:

project-root/
├── controllers/
├── routes/
├── middlewares/
├── models/
├── config/
├── utils/
├── app.js
└── server.js

이러한 모듈식 설정은 애플리케이션이 성장함에 따라 잘 확장됩니다.

🧪 Step-by-Step: Create a Simple API

1. Install Express

npm init -y
npm install express dotenv

2. Create server.js

const app = require('./app');
const PORT = process.env.PORT || 5000;

app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

3. Create app.js

const express = require('express');
const app = express();
const userRoutes = require('./routes/userRoutes');

app.use(express.json());
app.use('/api/users', userRoutes);

// Global error handler
app.use((err, req, res, next) => {
  res.status(err.status || 500).json({ message: err.message });
});

module.exports = app;

4. Add a Controller (controllers/userController.js)

exports.getAllUsers = (req, res) => {
  res.json([{ id: 1, name: 'Dipak' }]);
};

5. Add a Route (routes/userRoutes.js)

const express = require('express');
const router = express.Router();
const userController = require('../controllers/userController');

router.get('/', userController.getAllUsers);
module.exports = router;

🛡️ Add Environment Config

  • .env 파일을 생성합니다:
PORT=5000
NODE_ENV=development
  • server.js에서 로드합니다 (dotenv는 이미 설치되어 있음):
require('dotenv').config();

🔒 Add Error Handling Middleware

middlewares/errorHandler.js 파일을 생성합니다:

const errorHandler = (err, req, res, next) => {
  console.error(err.stack);
  res.status(500).json({ message: 'Something went wrong!' });
};

module.exports = errorHandler;

app.js에 등록합니다:

const errorHandler = require('./middlewares/errorHandler');
app.use(errorHandler);

📦 Bonus: Add CORS & Helmet for Security

npm install cors helmet
const cors = require('cors');
const helmet = require('helmet');

app.use(cors());
app.use(helmet());

✅ Final Output

서버를 실행합니다:

node server.js

http://localhost:5000/api/users 에 접속하면 다음과 같은 결과를 확인할 수 있습니다:

[
  { "id": 1, "name": "Dipak" }
]

깨끗하고 모듈화된, 프로덕션 준비가 된 API입니다!

🔚 Final Thoughts

Node.js에서 REST API를 만드는 것은 간단합니다 — 하지만 올바르게 만들려면 계획이 필요합니다. 깨끗하게 시작하고, 로직을 모듈화하며, 보안된 엔드포인트를 구축하세요. 이제 단순히 Express를 배우는 것이 아니라, 더 나은 백엔드 엔지니어가 되는 길을 걷고 있습니다.

Back to Blog

관련 글

더 보기 »