TIL 2021-05-16 (Rest API, Restful)

nyongho·2021년 5월 16일
0

오늘 배운 내용

목록 보기
16/40

TIL


What I Learn?

1) REST 란?

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

즉, REST 란

  1. HTTP URI 를 통해 자원 (Resource) 를 명시하고

  2. HTTP Method (POST, GET, PUT, DELETE) 를 통해

  3. 해당 자원(URI) 에 대한 CRUD Operation 을 적용하는 것을 의미한다.

CRUD 란 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create, Read, Update, Delete 를 묶어서 일컫는 말이다.

REST 에서의 CRUD Operation 이란 다음을 말한다.

Create : 생성 (POST)
Read : 조회 (GET)
Update : 수정 (PUT)
Delete : 삭제 (DELETE)


2) REST 의 구성 요소

REST 는 다음의 3가지 요소로 구성 되어 있다.

  1. 자원 (Resource) : HTTP URI

  2. 자원에 대한 행위 (Verb) : HTTP Method

  3. 자원에 대한 행위의 내용 (Representations) : HTTP Message Pay Load


3) REST API 란?

REST API 란 위에서 설명한 REST의 형식을 따르는 API 를 의미한다.

3-1. REST API 설계시 주의해야할 점

  1. URI는 동사보다는 명사를, 대문자보다는 소문자를 사용한다.

// BAD CASE (URI 를 대문자와 동사로 구성하였음) 🙅

https://yongho.com/Dreaming


// GOOD CASE 🙆

https://yongho.com/dream

  1. URI 마지막에 슬래쉬 (/) 를 포함하지 않는다.

// BAD CASE 🙅

https://yongho.com/dream/

// GOOD CASE 🙆

https://yongho.com/dream
  1. 언더바 (_) 대신 하이폰 (-)을 사용한다.

// BAD CASE 🙅

https://yongho.com/dream_cometrue

// GOOD CASE 🙆

https://yongho.com/dream-cometrue
  1. 파일확장자 (jpg, png...)는 URI 에 포함하지 않는다.

// BAD CASE 🙅

https://yongho.com/file.png

// GOOD CASE 🙆

https://yongho.com/file
  1. URI 에 특정 행위를 포함하지 않는다.

// BAD CASE 🙅

https://yongho.com/create-post/1

// GOOD CASE 🙆

https://yongho.com/post/1
  1. 자원의 행위는 HTTP Method 로 표현한다.

4) Restful 이란?

Restful 이란 REST 의 원리를 따르는 시스템을 의미한다.

주의해야할 점은 위의 6가지 주의점 중 몇 가지 Rest 방식만 따랐다고 해서 RESTful 하다고는 할 수 없다.

예를 들어 Post 라는 HTTP Method 는 CRUD 의 모든 기능이 가능한데 이 메소드 하나만으로 모든 CRUD 를 구성하는 행위는 Restful 하다고 볼 수 없다.

profile
두 줄 소개

0개의 댓글