Laravelで外部APIを呼び出す方法を完全解説!Httpクライアント入門
生徒
「Laravelで、天気情報や他のサービスのデータを使うことってできますか?」
先生
「できますよ。Laravelでは外部APIを呼び出して、別のサービスの情報を受け取れます」
生徒
「APIって難しそうですが、初心者でも扱えますか?」
先生
「LaravelのHttpクライアントを使えば、手紙を送る感覚で簡単に呼び出せます」
1. 外部APIとは何かをやさしく理解しよう
外部APIとは、他のサービスが用意してくれている情報の窓口です。たとえば、天気予報、地図情報、ニュース、翻訳などは、すべて外部APIを通じて利用できます。
イメージとしては、「お店に電話をして在庫を聞く」ようなものです。自分のLaravelアプリから外部APIにお願いすると、必要な情報を返してくれます。
LaravelのAPI開発では、この外部API呼び出しがとてもよく使われます。
2. Laravelで外部APIを呼び出す仕組み
Laravelでは、Httpクライアントという便利な機能が用意されています。Httpとは、インターネットで情報をやり取りするときの共通ルールです。
Httpクライアントは、「URLにアクセスして、結果を受け取る役割」を持っています。ブラウザでURLを開くのと似ていますが、Laravelの中で自動的に行います。
3. Httpクライアントを使う準備
Laravelでは、最初からHttpクライアントが使える状態になっています。追加のインストールは不要です。
使うときは、Httpというクラスを呼び出します。これは「通信専門の担当者」のような存在です。
4. 外部APIをGETで呼び出す基本例
まずは、一番シンプルなGET通信から見てみましょう。GETとは、「情報をください」とお願いする方法です。
use Illuminate\Support\Facades\Http;
$response = Http::get('https://example.com/api/sample');
$data = $response->json();
これで、外部APIから返ってきたデータを受け取れます。json()は、受け取った内容を扱いやすい形に変換しています。
5. APIレスポンスとは何か
APIレスポンスとは、外部APIから返ってくる返事です。多くの場合、JSON形式で送られてきます。
JSONは、項目名と内容がセットになったデータ形式です。表やメモ帳のようなものだと考えると分かりやすいです。
6. POSTで外部APIにデータを送る
次に、POST通信です。POSTは、「情報を渡します」という方法です。フォーム送信と似ています。
$response = Http::post('https://example.com/api/send', [
'name' => '太郎',
'email' => 'taro@example.com'
]);
これにより、Laravelから外部APIへデータを送信できます。
7. ステータスコードを確認する
外部APIを呼び出したときは、正しく通信できたかを確認することが大切です。その判断材料がステータスコードです。
ステータスコードは、通信結果を表す番号です。成功したか、失敗したかを教えてくれます。
if ($response->successful()) {
// 正常に取得できた場合
}
8. Httpクライアントを使うメリット
LaravelのHttpクライアントを使うと、コードが読みやすく、初心者でも理解しやすいというメリットがあります。
また、外部API連携を統一した書き方で管理できるため、LaravelのAPI開発と非常に相性が良いです。
9. 外部API連携でよくある使い道
外部APIは、天気情報取得、地図表示、決済処理、通知送信など、さまざまな場面で使われます。
Laravelで外部APIを呼び出せるようになると、自分のアプリでできることが一気に広がります。