Node.js와 npm이 컴퓨터에 올바르게 설치되어 있어야 합니다.
프로젝트를 설치할 폴더로 이동 후, 다음 코드를 적용합니다.
/*
터미널에서 입력
*/
// 프로젝트 초기화
mkdir rest-api-server
cd rest-api-server
npm init -y
// Express 설치
npm install express
/*
server.js를 루트 경로에 생성하고, 아래 코드 작성
*/
const express = require('express');
const app = express();
const port = 3000;
// JSON 요청을 파싱하기 위한 미들웨어
app.use(express.json());
// 간단한 라우트 예제
app.get('/', (req, res) => {
res.send('Hello, REST API Server!');
});
// 서버 실행
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
/*
server.js 아래 이어서 작성
API 예제 및 CRUD 기능
*/
// 데이터 예제
let users = [
{ id: 1, name: 'John Doe' },
{ id: 2, name: 'Jane Doe' }
];
// 1. 모든 사용자 조회 (GET)
app.get('/api/users', (req, res) => {
res.json(users);
});
// 2. 특정 사용자 조회 (GET)
app.get('/api/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);
});
// 3. 사용자 추가 (POST)
app.post('/api/users', (req, res) => {
const newUser = {
id: users.length + 1,
name: req.body.name
};
users.push(newUser);
res.status(201).json(newUser);
});
// 4. 사용자 정보 수정 (PUT)
app.put('/api/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' });
user.name = req.body.name;
res.json(user);
});
// 5. 사용자 삭제 (DELETE)
app.delete('/api/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);
});
/*
터미널에 입력
*/
// 코드 자동 반영 (선택사항)
npm install -g nodemon
nodemon server.js
브라우저에서 localhost:3000를 테스트합니다.
Node.js와 Express 프레임워크를 사용하여 간단한 API 서버를 구현했습니다.
REST API를 빠르게 요청하고 응답받을 수 있는 경량 서버를 구축할 수 있었습니다.
Node.js는 초기 개발 속도가 빠르고 설정이 간단해 빠른 개발과 배포가 가능합니다.
스프링부트는 복잡한 비즈니스 로직과 안정성, 확장성이 중요한 대규모 시스템에 적합하지만, 빠른 응답과 실시간 처리가 필요한 경량 API 서버에는 Node.js도 활용성이 매우 높습니다.
또한, 간단한 API 서버나 RESTful API 서버 구축에 효율적이며, AWS Lambda나 Google Cloud Functions와 같은 서버리스 플랫폼과의 연동도 용이합니다.
'JavaScript' 카테고리의 다른 글
수입/지출관리 어플리케이션 백엔드 REST API 구축 기록 [NestJS/MongoDB] (1) | 2024.12.27 |
---|