프로그래밍
Express.js를 이용한 간단한 REST API 서버 구축하기
에그티비
2025. 4. 7. 21:00
Express.js를 이용하여 간단한 REST API 서버를 구축하는 예제.
이 예제는 사용자 정보를 저장하고 관리하는 API입니다.
데이터베이스 없이 메모리(Array)에 저장하는 방식으로 기본 구조를 이해하기.
1단계: 프로젝트 초기화 및 Express 설치
mkdir express-rest-api
cd express-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 요청 본문 파싱
// 사용자 데이터를 저장할 배열
let users = [];
// 사용자 전체 조회
app.get('/users', (req, res) => {
res.json(users);
});
// 특정 사용자 조회
app.get('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
if (!user) return res.status(404).json({ message: 'User not found' });
res.json(user);
});
// 사용자 추가
app.post('/users', (req, res) => {
const { name, email } = req.body;
const newUser = {
id: users.length + 1,
name,
email,
};
users.push(newUser);
res.status(201).json(newUser);
});
// 사용자 수정
app.put('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
if (!user) return res.status(404).json({ message: 'User not found' });
const { name, email } = req.body;
if (name) user.name = name;
if (email) user.email = email;
res.json(user);
});
// 사용자 삭제
app.delete('/users/:id', (req, res) => {
const userIndex = users.findIndex(u => u.id === parseInt(req.params.id));
if (userIndex === -1) return res.status(404).json({ message: 'User not found' });
const deletedUser = users.splice(userIndex, 1);
res.json(deletedUser[0]);
});
// 서버 실행
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}`);
});
3단계: 테스트 예시 (Postman 또는 curl)
사용자 생성
POST /users
Body: { "name": "서영", "email": "seoyoung@example.com" }
전체 사용자 조회
GET /users
특정 사용자 조회
GET /users/1
사용자 정보 수정
PUT /users/1
Body: { "name": "서영이", "email": "sy@example.com" }
사용자 삭제
DELETE /users/1
확장 아이디어
- MongoDB 연동 (Mongoose 사용)
- 사용자 유효성 검사 (express-validator)
- 환경변수 관리 (
dotenv
) - 라우터 파일 분리 (
routes/user.js
) - JWT 로그인 기능 추가.
Express.js로 만든 REST API 서버를 실행하는 방법
Express.js로 만든 REST API 서버를 실행하는 방법은 아래와 같습니다. 간단하게 순서대로 따라 하면 됩니다.
1단계: Node.js 설치 확인
먼저 Node.js가 설치되어 있어야 합니다. 아래 명령어로 확인합니다.
node -v
npm -v
만약 설치되어 있지 않다면, Node.js 공식 사이트에서 설치하세요.
2단계: 프로젝트 폴더로 이동
cd express-rest-api
위 예제에서 index.js
파일이 있는 디렉터리로 이동합니다.
3단계: 서버 실행
node index.js
혹은 nodemon
을 사용하면 코드 변경 시 자동으로 재시작됩니다.
npm install -D nodemon
npx nodemon index.js
4단계: API 테스트
서버가 정상적으로 실행되면 콘솔에 아래 메시지가 출력됩니다:
Server running at http://localhost:3000
이제 REST API 요청을 보낼 수 있습니다. 아래 방법 중 하나로 테스트할 수 있습니다.
방법 A: Postman 사용 (추천)
- Postman 설치
- URL 입력:
http://localhost:3000/users
- HTTP 메서드 선택:
GET
,POST
,PUT
,DELETE
등 Body
탭에서 JSON 형식 입력 (POST/PUT)
{
"name": "서영",
"email": "seoyoung@example.com"
}
방법 B: curl 명령어 사용 (터미널)
curl -X POST http://localhost:3000/users \
-H "Content-Type: application/json" \
-d '{"name": "서영", "email": "seoyoung@example.com"}'
추가 팁: package.json
에 스크립트 등록
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js"
}
이후 아래처럼 실행 가능:
npm run start # 일반 실행
npm run dev # 개발 모드 실행 (자동 재시작)