はじめに
API(Application Programming Interface)は、ソフトウェア間のインターフェースとして機能し、異なるソフトウェアやサービスが互いにコミュニケーションするための方法を提供します
種々のAPIの概要を調べたものをまとめました。
RESTful API
- 概要
一般的にHTTP/HTTPSを通じてアクセス
CRUD操作(Create, Read, Update, Delete)にHTTPメソッド(POST, GET, PUT, DELETE)を利用
ステートレス性を持つ - 具体例
GitHub API: リポジトリ情報、ユーザー情報などの取得・操作が可能。
Twitter API: ツイートの取得、ツイートの投稿、フォロワー情報の取得など。
GraphQL API
- 概要
クエリ言語を利用してデータを取得・操作
必要なデータのみを取得するための柔軟なクエリが可能
エンドポイントが1つだけで、クエリによって返すデータを動的に決定 - 具体例
GitHub GraphQL API: リポジトリやユーザー情報など、必要なデータを効率的に取得。
SOAP API
- 概要
XMLベースのメッセージングプロトコルを使用
セキュリティやトランザクションといった機能が強化されている - 具体例
PayPal SOAP API: 金融トランザクションのための高度なセキュリティ要件を持つAPI。
WebSockets
- 概要
リアルタイムの双方向通信を提供
サーバーからのプッシュ通知が可能 - 具体例
Slack Real Time Messaging API: リアルタイムでのメッセージの送受信が可能。
RPC (Remote Procedure Call) API
- 概要
遠隔での関数/手続き呼び出しを実現するためのプロトコル
gRPC(Googleが開発したRPC)などのバージョンも存在 - 具体例
Google Cloud APIs: 多くのGoogle CloudサービスはgRPCを基盤として提供。
Streaming API
- 概要
データの連続的なストリームを提供
リアルタイムのデータアップデートや分析に利用 - 具体例
Twitter Streaming API: リアルタイムでのツイートのストリームを提供。