API(Application Programming Interface)は、ソフトウェア同士が「話し合う」ための窓口。REST・GraphQL・gRPCの違いから認証・セキュリティまで現役エンジニアが解説します。
API(Application Programming Interface)とは、ソフトウェア同士が「話し合う」ための窓口(インターフェース)です。スマホアプリが天気情報を取得する、決済サービスをWebサイトに組み込む、Google Mapsを自社サービスに埋め込む——これらすべてAPIを介して実現しています。
Web APIは主にHTTPプロトコルで通信します。クライアント(ブラウザ・アプリ)がリクエストを送り、サーバーがレスポンスを返す構造です。
データ取得
データ作成
データ更新
データ削除
| 方式 | 特徴 | 主な用途 |
|---|---|---|
| REST API | URLでリソースを表現、HTTPメソッドで操作 | Webサービス全般 |
| GraphQL | 必要なフィールドだけ指定してクエリ | フロントエンド主導のデータ取得 |
| gRPC | Protocol Buffersで高速・型安全な通信 | マイクロサービス間通信 |
APIは「通信するための窓口(仕様)」、SDKは「APIを簡単に呼び出せるようにまとめたライブラリセット」です。SDKを使えばAPIの細かい実装を書かずにサービスを利用できます。
パブリックAPIは外部の開発者に公開されたAPI(Twitter API・OpenWeatherMapなど)。プライベートAPIは社内システム間の通信など外部に公開しないAPIです。
HTTPステータスコード503はサービス利用不可(Service Unavailable)を意味します。サーバー過負荷・メンテナンス中に返されます。代表的なステータスコードは200(成功)・404(Not Found)・401(認証エラー)・500(サーバーエラー)。
ITエンジニア向け転職サービス2強を並行利用するのが最も効果的です。
※どちらも完全無料。登録だけで市場価値を確認できます。