REST API
REST API
과거의 SOAP이란 복잡한 형식을 대체한 RESTful한 형식의 API
정보들이 주고 받아지는데 있어서 개발자들 사이에 널리 쓰이는 일종의 형식
HTTP형식으로 요청을 보낼 때 어떤 URI에 어떤 메소드를 사용할 지 개발자들 사이에서 지켜지는 약속
HTTP프로토콜을 HTTP프로토콜답게 사용하자!
각 요청이 어떤 동작이나 정보를 위한 것인지 요청의 모습 자체로 추론 가능
자원을 구조와 함께 나타내는 형태의 구분자 > URI
{ topics :
[
{id: 1, title: rest, body: ... },
{id: 2, title: ajax, body: ... },
{id: 3, title: json, body: ... }
]
}
Resource
topics와 같은 데이터
Collection
element가 모여있는 것
http://example.com/topics
Element
collection 하나하나의 데이터
http://example.com/topics/1
id값으로 element를 식별하는 것이 일반적
HTTP형식으로 요청을 보낼 때
REST API에서는 이 HTTP 메소드들을 사용
Resource를 Create, Read, Update, Delete를 하기 위한 메소드
GET
read 읽을 때 사용
POST
수정, 생성, 삭제할 때 모두 사용하지만
기본목적은 create 생성할 때 사용
DELETE
delete 삭제할 때 사용
PUT
update 할 때 사용
정보를 통째로 갈아 끼울때
기존 데이터에 PUT을 하면 식별자를 제외한 언급하지 않은 데이터는 삭제됨
PATCH
update 할 때 사용
정보 중 일부를 특정 방식으로 변경할 때
기존 데이터에 PATCH를 하면 언급한 데이터만 변경
REST API에서 규정하는 것
Resource를 식별할 때 URI를 통해서 식별
어떤 행위를 할 때 HTTP 고유의 메소드를 이용한다
결과를 알려줄 때는 HTTP 응답코드를 사용한다
REST API에서 규정하지 않는 것
클라이언트와 서버가 어떤 데이터 타입으로 통신할 것인지(json도 되고 xml도 됨)
더 나아가기
Day1, 2-2. 그런 REST API로 괜찮은가
NAVER Engineering
tv.naver.com