RESTful API 이해하기

OlMinJe·2024년 3월 7일
0

zero-base

목록 보기
19/21
post-thumbnail

RESTful API 이해하기: 정의, 사용 이유, 적용 방법 및 Q&A
RESTful API가 무엇인지, 왜 사용하는지 그리고 어떻게 적용하는 걸까?

RESTful API란?

RESTful API(Representational State Transfer)
RESTful API는 웹 서비스를 설계하는 아키텍처의 하나입니다.
REST는 자원(Resource)의 표현(Representation)에 의한 상태 전달을 의미합니다.
이를 통해 클라이언트와 서버 사이의 통신 방식을 정의하며, HTTP 표준을 따릅니다.


RESTful API를 사용하는가?

1. 플랫폼 독립적
RESTful APIHTTP를 기반으로 하므로, 어떤 언어나 플랫폼에서도 사용할 수 있어 다양한 환경에서의 개발을 가능하게 합니다.
예를 들면 자바로 개발한 서버와 자바스크립트로 개발된 클라이언트 사이에서 RESTful API를 통해서 서로 통신이 가능한 것처럼, 다른 시스템 간에도 통신할 수 있습니다.

2. Stateless
각 요청이 서로 독립적으로 관리되므로, 서버가 클라이언트의 상태를 유지하지 않아도 됩니다.
이러한 특징으로 서버의 부하를 줄여주고, 확장성을 높여줍니다.
또한, 요청이 독립적이므로 요청이 실패할 경우 해당 요청만 다시 처리하면 되므로 안정성을 높여줍니다.

𝗤. RESTful API는 왜 Stateless해야 하나요?
𝐀. Stateless 속성 덕분에 서버는 각각의 요청을 별도로 처리할 수 있습니다. 이는 서버의 처리를 단순화하고, 서버의 확장성을 높이는 데 도움이 됩니다.

3. Cacheable
HTTP 프로토콜의 특성을 그대로 활용하므로, 캐싱(=클라이언트가 요청한 데이터를 임시로 저장하는 것) 기능을 적용할 수 있습니다.
같은 데이터 요청이 들어오면 서버에 요청하지 않고 캐시에서 데이터를 가져오므로, 서버의 부하를 줄이고 응답 시간을 단축시킬 수 있습니다.

𝗤.
𝐀.
Q2. RESTful API는 어떤 상황에서 사용하면 좋을까요?
A2. 여러 클라이언트(웹, 모바일 등)가 하나의 서버를 공유해야 하거나, 서버와 클라이언트가 각각 독립적으로 진화해야하는 경우 RESTful API를 사용하면 좋습니다.


RESTful API 적용 방법

< 필수 규칙 >

  • 자원은 URI(Uniform Resource Identifier)로 표현되어야 합니다.
  • 자원에 대한 행위는 HTTP 메서드(GET, POST, PUT, DELETE 등)로 표현합니다.

Node.js의 Express 프레임워크를 사용하여 RESTful API를 구현해보기

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

// GET 요청
app.get('/users', function(req, res) {
  res.send('GET users');
});

// POST 요청
app.post('/users', function(req, res) {
  res.send('POST users');
});

// PUT 요청
app.put('/users/:id', function(req, res) {
  res.send(`UPDATE user with id: ${req.params.id}`);
});

// DELETE 요청
app.delete('/users/:id', function(req, res) {
  res.send(`DELETE user with id: ${req.params.id}`);
});

app.listen(3000);
profile
໒꒰ྀ ˶ • ༝ •˶ ꒱ྀིა

0개의 댓글