ex) 날씨 서비스용 API :
[https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html]
REST : Representational State Transfer의 줄임말
자원을 이름(자원의 표현)으로 구분하여 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미
즉, CRUD(Create, Read, Update, Delete) 연산을 수행하기 위해 요청을 보내는 것
기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용하기 때문에 웹의 장점을 최대한 활용할 수 있는 아키텍처 스타일
표준이 존재하지 않음
앱 분리 및 통합, 다양한 클라이언트 등장으로 요즘 더 필요함
SERVER-CLIENT 구조
- 자원이 있는 쪽이 SERVER, 요청하는 쪽이 CLIENT
- 모든 자원에는 고유 ID가 존재하고, 자원은 서버 내에 존재
- 이 자원을 구별하는 ID가 HTTP URI
- 클라이언트를 URI 를 이용해서 자원을 지정하고 해당 자원의 상태에 대한 조작을 SERVER에 요청!
- HTTP Method 에서 제공하는 GET,POST,PUT,DELETE 등
- Client가 자원의 상태에 대한 조작을 요청하면 SERVER는 적절한 응답(Representation)을 보냄
- 하나의 자원에 대한 응답은 JSON, XML, TEXT, RSS 등 여러 형태가 될 수 있음
- JSON 혹은 XML이 가장 일반적인 방식!
http://restapi.example.com/houses/apartments https://gmlwjd9405.github.io/2018/09/21/rest-and-restful.html