[Restful] REST

okvv26·2023년 3월 13일
0

REST

목록 보기
1/8

REST API 🔍

REST API란 REST를 기반으로 만들어진 API를 의미한다. REST API를 알기 위해 REST 부터 알아보자.



REST 🔍

REST(Representational State Transfer)의 약자로 자원을 이름으로 구분하여 해당 자원의 상태를 주고 받는 모든 것을 의미한다.

즉, REST란

  1. HTTP URI(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
  2. HTTP Method(POST,GET,PUT,DELETE,PATCH 등)를 통해
  3. 해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.

CRUD Operation ? 🔍

CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create(생성), Read(읽기), Update(갱신), Delete(삭제)를 묶어서 일컫는 말로 REST에서의 CRUD Operation 동작 예시는 다음과 같다.

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


REST의 구성요소

REST는 다음과 같은 3가지로 구성되어 있다.

1) 자원(Resource) : HTTP URI
2) 자원에 대한 행위(Verb) : HTTP Method
3) 자원의 대한 행위의 내용 (Representations) : HTTP Message Pay Load



REST의 특징

  1. Server-Client (서버-클라이언트 구조)
  2. Stateless (무상태)
  3. Cacheable (캐시 처리 가능)
  4. Layered System(계층화)
  5. Uniform Interface(인터페이스 일관성)


REST API를 알아보자!

REST API란 REST의 원리를 따르는 API를 의미한다. 하지만 REST API를 올바르게 설계하기 위해서는 지켜야 하는 몇가지 규칙이 있으며, 해당 규칙은 다음과 같다.

설계 예시

1) URI는 동사보다는 명사를, 대문자보다는 소문자를 사용하자

안좋은 예시 : http://zerozae.com/Eat
좋은 예시 : http://zerozae.com/eating


2) 마지막에 슬래시 (/)를 포함하지 않는다.

안좋은 예시 : http://zerozae.com/hello/
좋은 예시 : http://zerozae.com/hello


  1. 언더바 대신 하이폰을 사용한다.

안좋은 예시 : http://zerozae.com/hello_world
좋은 예시 : http://zerozae.com/hello-world


  1. 파일확장자는 URI에 포함하지 않는다.

안좋은 예시 : http://zerozae.com/photo.png
좋은 예시 : http://zerozae.com/photo


  1. 행위를 포함하지 않는다.

안좋은 예시 : http://zerozae.com/update-post
좋은 예시 : http://zerozae.com/post



RESTful

RESTful이란 REST의 원리를 따르는 시스템을 의미한다. 하지만 REST를 사용했다 해도 모두가 RESTful 한 것은 아니다. REST API의 설계 규칙을 올바르게 지킨 시스템을 RESTful하다 말할 수 있고, 모든 CRUD 기능을 POST로 처리 하는 API 혹은 URL규칙을 올바르게 지키지 않은 API는 설계 규칙을 올바르게 지키지 못하였고, REST API를 사용했다 하더라도 RESTful 하지 못한 시스템이라고 할 수 있다.

0개의 댓글