APIとは?
「API」とは「アプリケーション・プログラミング・インターフェース(Application Programing Interface)」の頭文字をとったもので、「インターフェース」という言葉が意味するように「境界線」「接点」を用いてアプリケーション間をつなぐ機能を提供します。
使用すれば、異なるソフトウェアやプログラムを連携させられるようになります。
インターネットが登場してWebブラウザーを用いたWebサービスが一般的になった昨今では、アプリケーションをすべてゼロから開発するのではなく、マイクロサービスと呼ばれる各種Webサービスを組み合わせることで構築する、Web APIを利用する開発方法が注目されています。
APIを利用することで、他社サービス(API提供元)の機能の一部を自社サービスに組み込んで提供することができます。つまり、APIに備わっている機能を独自に作成する必要がなくなり、開発コストを大幅に削減できます。
APIの種類
Web API
Webサービス機能の一部として提供されているHTTPプロトコルを利用してデータを送受信するAPI。
利用するパソコンのOSやプログラミング言語には依存せず、ありとあらゆる環境からアクセスできるようになっています。
例:REST API、GraphQL API
OS/API
OS上でプログラミングをおこなうために用意されているAPI。
例:iOS API、Android API
ライブラリ/API
プログラミング言語の機能を提供するAPI。
アプリケーションを開発するために必要な標準機能や拡張機能の多くをAPIとして提供しています。
そのため開発者は自然とAPIのルールに従って、プログラミングをおこなえるようになっています。
例:Pythonの標準ライブラリ、jQuery API
APIの動作
APIはユーザーが必要とするたびにリクエストされ、その応答(レスポンス)を得るという形で利用されます。
リクエストを受け取ったサーバーが処理を行い、処理の結果をレスポンスとして返しています。
HTTPリクエスト、レスポンス
HTTPでWeb APIにリクエストを送る際は下記を指定します
- メソッド:GET、POST、PUT、DELETE
- URL:エンドポイントを指定
- ヘッダー:認証や形式の指定
- ボディ:データ送信
レスポンスはステータスコードと必要に応じてデータが返ってきます。
ステータスコードを見ればリクエストが正常に処理されたのかが分かります
ステータスコードの例
- 200: 成功
- 400: クライアントエラー
- 500: サーバーエラー
レスポンスボディには必要のデータもしくはエラーメッセージなどが入っていることが多いです。
APIのセキュリティ
主にWebAPIは下記のようなセキュリティ対策を取っています
- 認証:OAuth 2.0、APIキー
- 暗号化:HTTPSによる通信の保護
- レート制限:過剰なリクエストを防ぐ仕組み
まとめ
APIは、現代のアプリケーション開発に不可欠な技術です。
ただ、APIの仕組み等を理解した上で使う必要があるとも言えます。(特にセキュリティ周りは
読んでいただきありがとうございました!
参考記事