본문 바로가기

Restful Route - REST 규칙을 이용해서 만든 api 디자인 패턴

 

웹을 통해 데이터를 주고 받을 때 (서버 ↔ 클라이언트)

http 문법을 통해 주고 받게 되는데, 큰 명령어로는 4가지가 있다. 

HTTP 명령어 (HTTP Verb)

  • GET : 데이터 보기 (fetch하면 기본 명령어 속성이 Get임)
  • POST : 데이터 생성
  • PUT (PATCH) : 데이터 수정(Patch 라고도 불림)
  • DELETE: 데이터 삭제

 

Restful Route의 필요성

쇼핑몰 웹페이지를 예를 들어보자

- 아이템 목록을 보여주는 페이지의 경우)  /showitem  /getItem 라고 만들 수 있다.

- 아이템을 삭제하는 페이지의 경우) /removeItems /deleteItems라고 이름지을 수 있다.

 이름 통일성 x

 

또한, 각 아이템에 대해서 CRUD (생성,읽기,수정,삭제) 총 4개의 url이 필요하다.

    /getItem /createItem /updateItem /deleteItem

→ URL 길고 복잡

 

 이를 해결하기 위해 : restful 디자인

 

HTTP Verb :

/items + get 명령어 = 아이템읽어오기
/items + post 명령어 = 아이템 생성하기
/items + put 명령어 = 아이템 수정하기
/items + delete명령어 = 아이템 삭제하기

즉, /items라는 url 하나로 4가지의 액션을 할 수 있게 되었다.

내가 하나의 아이템만 가져오고 싶다면 뒤에 아이템의 id를 붙이는것도 restful route의 규칙이다

 

RESTful Routes :

/items/:id + get 명령어 = id를 가진 아이템보기
/items/:id + put 명령어 = id를 가진 아이템 수정
/items/:id + delete 명령어 = id를 가진 아이템 삭제