애플리케이션 프로그래밍 인터페이스(API)는 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의합니다. 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성합니다.
웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이라고 생각할 수 있습니다.
RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스입니다. 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따릅니다.
URI는 정보의 자원만 표현해야 하며, 자원의 행위는 HTTP Method에 명시합니다.
GET - 서버의 지정된 URL에 있는 리소스에 액세스합니다.
GET 요청을 캐싱하고 RESTful API 요청에 파라미터를 넣어 전송하여 전송 전에 데이터를 필터링하도록 서버에 지시할 수 있습니다.
POST - 서버에 데이터를 전송합니다.
여기에는 요청과 함께 데이터 표현이 포함됩니다. 동일한 POST 요청을 여러 번 전송하면 동일한 리소스를 여러 번 생성하는 부작용이 있습니다.
PUT - 서버의 기존 리소스를 업데이트합니다.
POST와 달리, RESTful 웹 서비스에서 동일한 PUT 요청을 여러 번 전송해도 결과는 동일합니다.
PATCH - 서버의 기존 리소스를 업데이트합니다.
PUT은 데이터 전체를 수정하지만, PATCH는 데이터 일부만 수정합니다.
DELETE - 리소스를 제거합니다.
DELETE 요청은 서버 상태를 변경할 수 있습니다. 하지만 사용자에게 적절한 인증이 없으면 요청은 실패합니다.