RESTful 웹 서비스는 현재 전 세계에서 표준으로 사용하는 통신 형태이다.
웹 서비스는 네트워크상에서 서로 다른 종류의 컴퓨터 간에 상호작용을 하는 소프트웨어 시스템을 의미한다.
→ 인터넷 등으로 데이터를 주고받게 하는 것을 의미
RESTful 웹 서비스는 REST(REpresentational State Transfer) 규정에 맞게 만든 ROA(Resource Oriented Architecture)를 따르는 웹 서비스 디자인 표준이다.
→ 자원(Resource)을 다루는 방법과 특정 웹 페이지로 접근하는 방법(URL과 Method)을 비슷한 형태로 구성한다는 의미이다.
컬렉션(배열) /collection | 요소 /collection/id | |
---|---|---|
GET | 컬렉션을 조회한다. | 컬렉션의 특정 요소를 조회한다. |
POST | 컬렉션에 새로운 데이터를 추가한다. | 사용하지 않는다. |
PUT | 컬렉션 전체를 한꺼번에 변경한다. | 컬렉션의 특정 요소를 수정한다. |
DELETE | 컬렉션 전체를 삭제한다. | 컬렉션의 특정 요소를 삭제한다. |
메소드 | 경로 | 설명 |
---|---|---|
GET | /user | 모든 사용자 정보를 조회한다. |
POST | /user | 사용자를 추가한다. |
GET | /user:id | 특정 사용자 정보를 조회한다. |
PUT | /user:id | 특정 사용자 정보를 수정한다. |
DELETE | /user:id | 특정 사용자 정보를 삭제한다. |
RESTful 웹 서비스는 데이터를 중심으로 구현한다.
⇒ 따라서, 데이터를 어떤 형태로 구성할 것인지, 데이터를 어떻게 저장할 것인지를 먼저 생각해야 한다.
{
id: 사용자_id,
name: 사용자_이름,
region: 거주_지역
}
일반적인 웹 서비스는 데이터베이스(database)를 사용해서 저장한다.
GET 요청으로 /user에 요청을 걸며, 사용자 전체 리스트를 응답해 줘야 한다.
GET 요청으로 /user/:id에 요청을 걸면, 특정 id에 해당하는 사용자 한 명을 응답해 줘야 한다.
POST 요청으로 /user에 요청을 걸면, 데이터를 추가해야 한다.
PUT 요청으로 /user/:id에 요청을 걸면, users 데이터들 중 특정 Id를 가진 사용자의 정보를 수정해야 한다.
DEL 요청으로 /user/:id에 요청을 걸면, 해당 데이터를 제거한다.