目次
HTTP リクエストを行う機能は、最新の Web 開発の基本的な側面です。 Node.js では、Fetch API がこの目的のための人気のある強力なツールとして登場し、開発者が効率的かつ理解しやすい方法で非同期ネットワーク リクエストを行うことができるようになります。この記事では、Fetch API を使用して Node.js で HTTP リクエストを作成するプロセスを説明し、主要な概念、ツール、ベスト プラクティスについて説明します。
Node.js の Fetch API の概要
Fetch API は、リクエストや応答などの HTTP パイプラインの部分にアクセスして操作するための JavaScript インターフェイスを提供します。元々はブラウザー用に設計された Fetch API は、現在では次のようなポリフィルを通じて Node.js で利用できるようになりました。 node-fetch
。これはプロミスベースであるため、より管理しやすい方法で非同期操作を処理するのに適しています。
Node.js の Fetch API を選択する理由
- シンプルさ: Fetch API は、XMLHttpRequest (XHR) などの古いメソッドと比較して、よりクリーンで読みやすい構文を使用して HTTP リクエストを作成するプロセスを簡素化します。
- 非同期処理: Fetch API は Promise ベースの性質により、非同期操作の処理を強化し、async/await 構文を通じてよりクリーンなコードを可能にします。
- 柔軟性: ヘッダー、クエリ パラメーター、本文コンテンツのさまざまなオプションを使用してリクエストを簡単にカスタマイズできます。
Node.js プロジェクトでの Fetch API のセットアップ
HTTP リクエストの作成を開始する前に、Node.js 環境で Fetch API をセットアップする必要があります。これには、 node-fetch
パッケージ。これは Fetch API の Node.js 実装です。
インストール中 node-fetch
インストールするには node-fetch
、プロジェクト ディレクトリで次のコマンドを実行します。
npm install node-fetch
このコマンドは追加します node-fetch
これにより、Node.js 環境で Fetch API を使用できるようになります。
フェッチ API を使用した HTTP リクエストの作成
Fetch API は、GET、POST、PUT、DELETE などのさまざまなタイプの HTTP リクエストを作成するプロセスを簡素化します。次のセクションでは、これらのリクエストを作成し、その応答を処理する方法について説明します。
GETリクエストを行う
GET リクエストは、指定されたリソースからデータを取得するために使用されます。 Fetch API を使用して GET リクエストを作成する方法は次のとおりです。
const fetch = require('node-fetch');
async function fetchData(url) {
const response = await fetch(url);
const data = await response.json();
return data;
}
fetchData('https://api.example.com/data')
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
POSTリクエストを行う
POST リクエストは、リソースを作成または更新するためにサーバーにデータを送信するために使用されます。以下のコード スニペットは、POST リクエストを作成する方法を示しています。
const fetch = require('node-fetch');
async function postData(url, data) {
const response = await fetch(url, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify(data),
});
const responseData = await response.json();
return responseData;
}
postData('https://api.example.com/data', { key: 'value' })
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
応答とエラーの処理
HTTP リクエストを行うときは、応答と潜在的なエラーの両方を適切に処理することが重要です。
対応
Fetch API は、次のように解決される Promise を返します。 Response
物体。このオブジェクトには、応答ステータス、ヘッダー、本文が含まれます。次のようなメソッドを使用できます .json()
, .text()
あるいは .blob()
応答本文を解析します。
エラー処理
Fetch API を使用したエラー処理には、ネットワーク エラーと応答ステータス コードの両方のチェックが含まれます。エラーを処理する方法の例を次に示します。
fetch(url)
.then(response => {
if (!response.ok) {
throw new Error('Network response was not ok');
}
return response.json();
})
.catch(error => console.error('There has been a problem with your fetch operation:', error));
Node.js で Fetch API を使用するためのベスト プラクティス
Fetch API を使用する際のベスト プラクティスに従うと、コードが効率的で安全で、保守が容易になることが保証されます。
コードをよりクリーンにするために非同期/待機を使用する
async/await 構文を活用すると、非同期コードがよりクリーンで読みやすくなります。
エラー処理
包括的なエラー処理を実装して、ネットワーク障害と HTTP エラーの両方を適切に管理します。
リクエストを保護する
特に HTTPS 経由で API を処理する場合は、機密データが安全に送信されることを常に確認してください。
結論
Fetch API は、Node.js で HTTP リクエストを行うための最新かつ強力かつ柔軟な方法を提供します。 Fetch API の設定と使用方法を理解し、リクエスト処理とエラー管理のベスト プラクティスに従うことで、開発者は堅牢で効率的な Web アプリケーションを構築できます。 API からデータを取得する場合でも、フォーム データを送信する場合でも、外部サービスと対話する場合でも、Fetch API はこれらのタスクを簡単かつ正確に実行するために必要なツールを提供します。