Node.js 를 배워보자/6. RESTful API 개발

Express를 이용한 RESTful API 개발

_Blue_Sky_ 2024. 10. 1. 08:07
728x90
728x90

Express를 이용한 RESTful API 개발: 상세 가이드

소개

Express.js는 Node.js를 위한 미니멀리스트 웹 프레임워크로, RESTful API 개발에 매우 적합합니다. 간결하면서도 강력한 기능을 제공하여 개발 생산성을 높이고 유지보수가 용이한 API 서버를 구축할 수 있습니다. 이 글에서는 Express를 이용하여 RESTful API를 개발하는 과정을 단계별로 상세히 설명하고, 각 단계에서 필요한 지식과 예시 코드를 제공합니다.

1. Express 설치 및 프로젝트 설정

  • Node.js 설치: 먼저 Node.js를 설치해야 합니다. Node.js 공식 홈페이지([유효하지 않은 URL 삭제됨] 최신 버전을 다운로드하여 설치합니다.
  • npm을 이용한 Express 설치: 터미널 또는 명령 프롬프트를 열고 새로운 프로젝트 디렉토리를 생성합니다. 생성된 디렉토리에서 다음 명령을 실행하여 Express를 설치합니다.
Bash
npm init -y
npm install express
 
  • 기본 서버 구축: index.js 파일을 생성하고 다음 코드를 작성합니다.
const express = require('express');
const app = express();
const port = 3000;

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

app.listen(port, () => {
  console.log(`Example app listening on port ${port}`);
});
 
  • 서버 실행: node index.js 명령을 실행하여 서버를 시작합니다. 브라우저에서 http://localhost:3000에 접속하면 "Hello, Express!" 메시지가 표시됩니다.

2. RESTful API 기본 개념 이해

  • HTTP 메서드: GET, POST, PUT, DELETE 등 HTTP 메서드는 자원에 대한 CRUD(Create, Read, Update, Delete) 작업을 수행하는 데 사용됩니다.
  • URI: Uniform Resource Identifier는 자원을 식별하는 고유한 주소입니다.
  • HTTP 상태 코드: 200(성공), 404(Not Found), 500(Server Error) 등 HTTP 상태 코드는 요청 처리 결과를 나타냅니다.
  • JSON: 자바스크립트 객체 표기법으로, 데이터를 교환하는 데 일반적으로 사용됩니다.
728x90

3. Express로 RESTful API 구현

  • 라우팅 설정: Express는 다양한 HTTP 메서드와 URI를 매핑하여 요청을 처리하는 라우팅 기능을 제공합니다.
app.get('/users', (req, res) => {
  // 사용자 목록 조회 로직
  res.json([{ id: 1, name: '홍길동' }, { id: 2, name: '김철수' }]);
});

app.post('/users', (req, res) => {
  // 새로운 사용자 생성 로직
  const newUser = req.body;
  // ...
  res.status(201).json(newUser);
});
 
  • 미들웨어: 요청과 응답 사이에서 다양한 작업을 수행하는 함수입니다. 로그 기록, 인증, 에러 처리 등에 사용됩니다.
app.use(express.json()); // JSON 데이터 파싱
 
  • 데이터베이스 연동: MongoDB, MySQL 등 다양한 데이터베이스와 연결하여 실제 데이터를 CRUD 작업할 수 있습니다.
  • 에러 처리: try-catch 문을 사용하여 예외를 처리하고 적절한 HTTP 상태 코드를 반환합니다.

4. API 문서화

  • Swagger UI: API 문서를 시각적으로 표현하고 테스트할 수 있는 도구입니다.
  • API Blueprint: API 설계 언어로, API 문서를 작성하고 공유할 수 있습니다.

5. API 테스트

  • Postman: HTTP 요청을 보내고 응답을 확인하는 도구입니다.
  • Jest: 자바스크립트 테스트 프레임워크로, API 로직을 단위 테스트할 수 있습니다.

6. 배포

  • Heroku: 클라우드 플랫폼으로, Node.js 애플리케이션을 쉽게 배포할 수 있습니다.
  • AWS: Amazon Web Services를 이용하여 더욱 복잡한 배포 환경을 구축할 수 있습니다.

결론

Express는 RESTful API 개발을 위한 강력한 도구입니다. 이 글에서 설명한 내용을 바탕으로 간단한 API부터 복잡한 API까지 다양한 API를 개발할 수 있습니다.

 

728x90
728x90

'Node.js 를 배워보자 > 6. RESTful API 개발' 카테고리의 다른 글

JSON 데이터 처리  (0) 2024.10.01
HTTP 메서드 (GET, POST, PUT, DELETE)  (0) 2024.10.01
RESTful API란 무엇인가요?  (0) 2024.10.01