このラボでは、モダン JavaScript を使用して Web API とやり取りするための必須スキルを習得します。Web ブラウザに組み込まれている強力で柔軟なツールである fetch API を使用して、非同期ネットワークリクエストを行います。主な目標は、サーバーからデータをリクエストする方法、レスポンスを処理する方法、および潜在的なエラーを管理する方法を理解し、動的な Web アプリケーションを構築するための基礎スキルを形成することです。
まず、データを取得するための基本的な GET リクエストを行い、次にレスポンスの処理方法、JSON としての解析方法、そして取得したデータを HTML 要素内に表示する方法を学びます。このラボでは、堅牢なエラー処理の実装、サーバーにデータを送信するための POST リクエストの作成、API キーを使用したリクエストの認証といった重要な側面もカバーします。
fetch API で基本的な GET リクエストを行う
このステップでは、JavaScript で基本的な API コールである GET リクエストを行う方法を学びます。ここでは、すべてのモダンな Web ブラウザに組み込まれており、Node.js 18+ 環境でも利用可能な、モダンで強力かつ柔軟なツールである fetch API を使用します。これにより、サーバーからリソースを非同期的にリクエストできます。
Successfully parsed JSON data:
Todo Title: delectus aut autem
Is Completed: false
取得したデータを HTML 要素に表示する
このステップでは、API からフェッチしたデータを Web ページに表示する方法を学びます。開発中はコンソールにデータをログ出力することが便利ですが、最終的な目標は多くの場合、この情報をユーザーに提示することです。これには、コンテンツを構造化するための HTML ファイルと、Document Object Model (DOM) を操作するための JavaScript が必要です。
以下の基本的な HTML 構造を index.html ファイルに追加します。このファイルには見出しと、data-output という ID を持つ div 要素が含まれており、これはフェッチしたデータを格納するコンテナとして機能します。ボディの末尾にある <script> タグは、HTML 要素がロードされた後に JavaScript が実行されることを保証します。
注意: 使用している JSONPlaceholder API は公開されており、実際には API キーを必要としません。このヘッダーは単に無視されます。ただし、このコードは、認証を必要とする多くの実際の API で使用する標準的な方法を示しています。
結果を確認するには、Web サーバーがまだ実行されていない場合は起動します。
python3 -m http.server 8080
次に、プレビューを開きます。ページは正常に読み込まれ、ユーザーのプロファイルが表示され、認証された API リクエストが正しく構造化されていることを示します。
まとめ
この実験では、モダンな fetch API を使用して JavaScript で API を呼び出す方法を学びました。公開 API エンドポイントからデータを取得するための基本的な GET リクエストを行うことから始めました。プロミスを使用して fetch の非同期性を処理し、.then() ブロックを連鎖させてレスポンスを処理し、ボディテキストを JSON として解析することを練習しました。主なスキルには、フェッチしたデータを HTML 要素内に動的に表示すること、および潜在的なネットワーク障害を管理するために .catch() ブロックで堅牢なエラー処理を実装することが含まれます。
これらの基本を基に、必要なヘッダーと JSON ペイロードを含む POST リクエストを構築および実行して、サーバーにデータを送信する方法を探りました。最後に、API 通信を保護するための一般的な方法を学びました。これには、保護されたリソースへの正規のアクセス権を取得するために API キーを含めることが含まれます。