REST, REST API, RESTful API

이다현·2024년 8월 5일

JSON-SERVER를 활용하여 CRUD에 맞는 블로그를 제작하면서 RESTful API라는 것을 알게 되었다.
그렇다면 RESTful API가 무엇일까?

RESTful API를 알기 전에 먼저 REST에 대해 알아보자

📌 REST란?

요청된 주소만 보고도 어떤 내용에 관한 요청인지 예상할 수 있게 하는 형식을 REST(Representatinal State Transfer)라고 한다.

REST는 자원을 URL로 표현하고 HTTP 메서드(GET, PUT, POST, DELETE 등)를 사용하여 해당 자원을 조작하는 소프트웨어 아키텍쳐(서비스 동작 원리)의 한 형식이다.
->'CRUD Operation'을 적용

💡 CRUD Operation이란?

  • Create : 데이터 생성(POST)
  • Read : 데이터 조회(GET)
  • Update : 데이터 수정(PUT, PATCH)
  • Delete : 데이터 삭제(DELETE)

즉, 쉽게말해 네트워크 상에서 Client와 Server 사이의 통신하는 방식 중 하나의 개념이라고 생각하면 되며, HTTP 메서드 사용을 더욱 쉽게 알기 위해 아래 그림을 참고해보자.

✔️ 예시

블로그 제작 시 useAxios 훅을 제작하여 활용했는데,

아래와 같이 index 값에 id가 들어가면

위와 같이 코드를 작성할 수 있으며, URL은 https://dandanii22.github.io/blog/2 와 같이 생성된다. (해당 URL 예시 URL로 JSON-SERVER 서비스로 인해 배포 중단)

또한 App.js의 router에는 /blog/:id로 경로를 표시해주게 된다.

이처럼 주소만 봐도 알 수 있도록 라우팅을 만드는 것이 REST API의 기본이다.

📌 REST API, RESTful API

그렇다면, REST API는 무엇일까?

REST API는 쉽게말해 REST 기반으로 서비스 API를 구현한 것이며,
RESTful은 REST 원리를 따르는 시스템은 RESTful이란 용어로 지칭하는 것이다.

=> ‘REST API’를 제공하는 웹 서비스를 ‘RESTful’하다고 할 수 있다.

✔️ RESTful 하지 못하는 경우

  • URI 규칙을 올바르게 지키지 않은 API
  • REST API의 설계 규칙을 올바르게 지키지 못한 시스템

예시
1. CRUD 기능을 모두 POST로만 처리하는 API
2. route에 resource, id 외의 정보, URI에 행위(method)에 대한 부분이 들어가는 경우 -> /students/updateName

profile
프론트엔드 코딩공부 페이지입니다.

0개의 댓글