REST API에 대해 이해할 수 있다.
REST API 문서를 읽을 수 있다.
REST API에 맞춰 디자인할 수 있다.
Open API와 API Key에 대해 이해할 수 있다.
Postman이 무엇인지 이해하고 사용할 수 있다.
HTTP API 테스팅이 무엇인지 알 수 있다.
Postman을 사용하여 서버에 GET, POST 요청을 보내고 응답을 받을 수 있다.
(Optional) Postman을 사용하여 Open Weather Map Open API에 요청을 보낼 수 있다.
Chrome Network Tab을 이해할 수 있다.
Chrome Network Tab 사용 방법을 익히고 사용할 수 있다.
REST : “Representational State Transfer”
클라이언트의 요청(GET,POST 등 메소드)에 따라 서버에서 적절한 응답을 하는 API
개별적으로 주소 지정이 가능한 리소스(API의 명사)의 컬렉션으로 모델링됨. 리소스는 리소스 이름으로 참조되며 적은 수의 메서드 집합(동사 또는 작업으로도 알려짐)을 통해 조작됨.
root-endpoint(혹은 root-URL): API로 요청을 서버와 통신할 때, 서버가 요청을 수락하는 시작점
일반적으로 도메인 주소의 루트(/)
ex) Github API의 root-endpoint ==> https://api.github.com 트위터 API의 root-endpoint ==> https://api.twitter.com
path(url-path): API를 통해 서버와 통신할 때, 서버와 통신할 수 있는 key 역할. ex) https://api.github.com/user 에서 'user'
ex) GET /nala/messages
파라미터(query parameter)를 사용할 수 있습니다.
ex) /nala/messages?roomname=내방
[
{
"id": 1,
"username": "나라",
"text": "안녕하세요",
"roomname": "내방",
"date": "2021-07-28T03:54:21.134"
},
// 여러 개의 메시지
]
메시지는 24시간마다 자동으로 리셋됩니다.
요청 형식: JSON
MIME 타입: application/json
Response
JSON 형식으로 응답이 옵니다.
{
"id": 5
}
Request
POST /{githubID}/clear
요청 본문은 필요x
Response
성공시 JSON 형식으로 응답이 옵니다.
{
"message": "message initialized!"
}
REST API 설계시 가장 중요한 두 가지 바탕
브라우저의 한계 : 주소창을 통해서 URL을 요청할 시, 기본적으로 GET 요청
다른 요청을 보내려면, 개발자 도구를 이용해 fetch를 이용한 JavaScript 코드를 작성
브라우저가 아닌 다른 종류의 HTTP 요청을 테스트할 수 있는 다양한 도구들이 존재
HTTP API 테스팅 도구 (CLI)
HTTP API 테스팅 도구 (GUI)
Postman