REST
는 Representational State Transfer
라는 용어의 약자HTTP URI
HTTP Method
HTTP Message Pay Load
즉, HTTP URI
(Uniform Resource Identifier)를 통해 자원(Resource)을 명시하고,
HTTP Method
(POST, GET, PUT, DELETE, PATCH 등)를 통해
해당 자원(URI)에 대한 CRUD Operation을 적용하는 것을 의미한다.
CRUD는 대부분의 컴퓨터 소프트웨어가 가지는 기본적인 데이터 처리 기능인 Create
(생성), Read
(읽기), Update
(갱신), Delete
(삭제)를 묶어서 일컫는 말로
REST
에서의 CRUD Operation 동작 예시는 다음과 같다.
Create : 데이터 생성 (POST)
Read : 데이터 조회(GET)
Update : 데이터 수정(PUT, PATCH)
Delete : 데이터 삭제(DELETE)
1) URI는 정보의 자원을 표현해야 한다. (리소스명은 동사보다는 명사를 사용)
GET /members/delete/1
위와 같은 방식은 REST를 제대로 적용하지 않은 URI이다. URI는 자원을 표현하는데 중점을 두어야 한다.
delete
와 같은 행위에 대한 표현이 들어가서는 안된다.
2) 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE 등)로 표현
위의 잘못 된 URI를 HTTP Method를 통해 수정해 보면
DELETE /members/1
으로 수정할 수 있다.
회원정보를 가져올 때는 GET, 회원 추가 시의 행위를 표현하고자 할 때는 POST METHOD를 사용한다.
회원정보를 가져오는 URI
GET /members/show/1 (x)
GET /members/1 (o)
회원을 추가할 때
GET /members/insert/2 (x) - GET 메서드는 리소스 생성에 맞지 않습니다.
POST /members/2 (o)
show
와insert
같은 행위가 표시되어서는 안된다.
HTTP 메서드 알맞은 역할