API는 application programming interface의 약어입니다.
API는 일종의 코딩 약속입니다.
API는 프로그램이 애플리케이션과 상호작용할 수 있는 방식을 규정합니다.
예를 들어, Twitter로부터 데이터를 읽어오고 그것을 분석하는 프로그램을 작성하려면, Twitter API를 사용해야 합니다.
Twitter API는 인증(authentication) 프로세스, 중요한 URLs, classes, methods 등을 규정하고 있습니다.
API나 웹서비스가 RESTful 하려면 다음 규칙을 따라야 합니다.
클라이언트를 서버와 분리해야 합니다
- requests 사이의 state를 hold하지 말아야 합니다.
- request에 응답하는데 필요한 모든 정보가 각각의 개별 request에 있어야 합니다.
- request에서 request 까지 서버에 의하여 데이터 또는 state가 hold되지 않습니다.
- HTTP와 HTTP methods를 사용해야 합니다
아래는 API로부터 얻을 수 있는 정보의 예입니다.
이 포맷은 JSON으로 되어 있습니다.
// {
// "myBlog": {
// "pageViews": "4720",
// "subscribers": "1711",
// "numberOfPosts": "37",
// "mostRecentPost": "2013-01-04",
// }
// }
아래 예제에서 변수 xhr
을 만듭니다.
xhr은 XML HTTP Request의 약어입니다.
HTTP request를 작성하는 방법을 알아봅니다.
그런 다음 Codecademy.com에 대한 request를 실제로 만들어봅니다.
xhr.status
와xhr.statusText
를 console.log를 출력합니다.
xhr의 메쏘드.send()
를 호출하여 request를 보냅니다.
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://www.codecademy.com/", false);
xhr.send();
console.log(xhr.status);
console.log(xhr.statusText);
HTTP의 4가지 메쏘드
GET: 특정 소스로부터 정보를 retrieve 합니다
POST: 특정 소스로 정보를 보냅니다
PUT: 특정 소스의 기존 정보를 업데이트 합니다
- DELETE: 특정 소스의 기존 정보를 삭제합니다
HTTP request는 3개 파트로 이루어져 있습니다.
- request line은 서버로 보내지는 request의 종류(GET, POST 등)와 request가 찾고 있는 자원을 표시하고 있습니다.
- header는 추가 정보(어떤 client가 request를 작성하고 있는지?)를 서버로 보냅니다.
- body는 비어있거나(GET request에서 처럼) data가 포함될 수 있습니다(정보를 POSTing 또는 PUTing하고 있다면 그 정보는 여기 포함되어 있는 것입니다).
Endpoints 는 특정 데이터가 저장되는 API-defined locations입니다.
PantsWorld로부터 1쌍의 바지를 GET 하거나 PeanutHut로부터 땅콩 한 상자를 GET하는 것처럼, 사용하는 endpoint에 따라 다른 것을 GET 하게 됩니다.
예를 들어, 비디오 호스팅 서비스를 위한 API를 사용하고 있다면, 가장 유행되는 비디오, 가장 최신 비디오, 특정 장르 또는 카테고리에 속한 비디오에 관한 endpoints가 있을 것입니다.
출처 | http://b2bhjlee.blog.me/220182903766
'Java' 카테고리의 다른 글
REST API의 이해와 설계-#1 개념 소개 (0) | 2015.10.28 |
---|---|
당신의 API가 Restful 하지 않은 5가지 증거 (0) | 2015.10.27 |
API -클라이언트/서버 (0) | 2015.10.27 |
API Keys (0) | 2015.10.27 |
HTTP Status 405 - Request method 'POST' not supported (0) | 2015.10.27 |