서버가 클라이언트에게 리소스를 잘 활용할 수 있도록 제공하는 인터페이스
클라이언트는 서버에게 필요한 리소스를 요청하지만, 직접 서버를 구현하지 않았기 때문에 서버 내부에 사용가능한 자원이 무엇이 있는지, 어떻게 그 자원을 가져올 수 있는지 파악하기는 어려울 것이다.
이 점을 해소하기 위해서 서버는 클라이언트에게 API를 제공한다.
API는 비유를 하자면 식당의 메뉴판과 같다.
그 식당에 어떤 메뉴가 있는 지 알려줌으로써 고객들에게 무슨 음식을 시킬지 선택권을 준다.
API도 마찬가지로 서버의 자원에 대한 정보를 제공해줌으로써 무슨 자원을 어떻게 이용할 수 있을 지 알려준다.
보통 인터넷에 잇는 데이터를 요청할 때는 HTTP 프로토콜을 사용하며, URI를 통해 접근할 수 있다.
이때, HTTP 요청에는 메소드가 등장한다.
[출처 : 코드스테이츠]
사용자 관리 API를 예시로 들어보면, 사용자의 정보를 갱신하고 삭제하고 조회하는 등 CRUD에 따라 사용하는 메소드가 정해져 있다.
요청 | 메소드 |
---|---|
Create | POST |
Read | GET |
Update | PUT 또는 PATCH |
Delete | DELETE |
CRUD 행동에 따라 목적에 맞게 써야한다.