← 목록

RESTful APIs를 활용한 데이터베이스 연동 방법

작성: 2024년 06월 03일읽기: 약 3분

웹 개발을 배우는 여러분, 오늘은 RESTful APIs를 통해 어떻게 데이터베이스와 연동하는지 알아보겠습니다. RESTful API는 웹 개발에서 데이터를 주고받는 중요한 방법 중 하나입니다. 간단하게 말해서, 웹 서버와 데이터베이스 사이에서 정보를 주고받을 수 있게 해주는 도구라고 할 수 있죠.

RESTful API란?

RESTful API는 Representational State Transfer의 약자로, 웹 표준을 활용하여 서버와 클라이언트 사이에 정보를 교환하는 방법입니다. 이 방법은 HTTP 프로토콜을 사용하여 데이터를 전송하므로 웹 개발에 자주 사용됩니다.

데이터베이스 연동 기초

데이터베이스와 연동하기 위해서는 먼저 서버에서 RESTful API를 구현해야 합니다. 여기서는 Node.js와 Express 프레임워크를 사용한 예를 들어 설명하겠습니다.

1단계: 필요한 모듈 설치

먼저, 프로젝트에 필요한 모듈을 설치해야 합니다. 터미널에서 다음 명령어를 입력하여 Express와 데이터베이스를 다루기 위한 모듈을 설치합니다.

npm install express mongoose

2단계: 서버 설정

Express를 사용하여 간단한 서버를 설정합니다. 아래 코드는 서버를 생성하고 3000번 포트에서 실행하는 예제입니다.

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

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

app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

3단계: 데이터베이스 연결

Mongoose를 사용하여 MongoDB 데이터베이스에 연결합니다. 아래 코드 스니펫을 참고하여 데이터베이스 연결을 설정하세요.

const mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/yourDatabaseName', { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => console.log('Connected to MongoDB...'))
  .catch(err => console.error('Could not connect to MongoDB...', err));

4단계: API 구현

이제 RESTful API를 구현할 차례입니다. 예를 들어, 데이터베이스에 사용자 정보를 저장하고 조회하는 API를 만들어보겠습니다.

const User = require('./models/user'); // 사용자 모델을 불러옵니다.

// 사용자 정보를 저장하는 API
app.post('/users', async (req, res) => {
  const user = new User({
    name: req.body.name,
    email: req.body.email
  });

  try {
    const savedUser = await user.save();
    res.send(savedUser);
  } catch (err) {
    res.status(400).send(err);
  }
});

// 사용자 정보를 조회하는 API
app.get('/users', async (req, res) => {
  try {
    const users = await User.find();
    res.send(users);
  } catch (err) {
    res.status(400).send(err);
  }
});

위 코드에서는 간단하게 사용자 정보를 저장하고 조회하는 API를 구현했습니다. 실제 프로젝트에서는 더 많은 기능과 예외 처리가 필요할 수 있습니다.

마무리

RESTful API를 활용하여 데이터베이스와의 연동은 웹 개발에서 매우 중요한 부분입니다. 오늘 배운 내용을 통해 기본적인 API 구현 방법을 익혔으니, 이를 바탕으로 더 다양한 기능을 탐색해 보세요. Happy coding!