엔드포인트와 REST, 쉽게 풀어서
엔드포인트는 메뉴의 한 항목이다. 그저 한 가지 특정한 일을 하는 URL일 뿐이다. 예를 들면,
https://api.weather.com/forecast— 예보 가져오기https://api.weather.com/cities— 이용 가능한 도시 목록
같은 주방, 다른 요리. 각 엔드포인트는 하나의 기능이다.
당신이 다루게 될 대부분의 API는 REST라고 불리는 느슨한 스타일을 따른다. 학술적인 정의는 필요 없다. 두 가지 개념만 알면 된다.
- URL은 어떤 것의 이름을 가리킨다 (하나의 "리소스") — 사용자, 주문, 예보.
- 동사는 그것으로 무엇을 하고 싶은지를 말한다. 이 동사들은 HTTP 메서드인데, 웹이-어떻게-동작하는가에서 본 그것들과 같다.
GET— 무언가를 읽기 (예보 가져오기). 안전하다. 아무것도 바꾸지 않는다.POST— 무언가를 생성하기 (주문 넣기, 사용자 가입시키기).PUT/PATCH— 이미 존재하는 무언가를 수정하기.DELETE— 무언가를 제거하기.
그래서 GET /orders/42는 "42번 주문을 읽어라"는 뜻이고, DELETE /orders/42는 "그걸 삭제해라"는 뜻이다. 같은 명사, 다른 동사, 완전히 다른 효과. API 문서나 diff를 읽을 때, 그 두 단어 — 메서드와 URL — 가 요청이 무슨 일을 하는지 거의 다 알려준다.