- HOME >
- Jamstack用語集 >
- Fetch API
Fetch API
フェッチ エーピーアイ
fetch を分かりやすく
fetch は、Web API の 1 つで、JavaScript で HTTP リクエストを送信し、サーバーからデータを取得することができます。fetch は Promise を返すため、非同期通信が可能です。fetch はブラウザの標準 API のため、ライブラリやフレームワークを必要としません。
JavaScript の標準機能として提供されており、簡潔で直感的な記述方法が特徴です。Fetch API を使用することで、XHR(XMLHttpRequest)による HTTP リクエストに代わり、より簡単に HTTP 通信を行うことができます。
fetch の使い方
fetch は、以下のように URL を引数として fetch 関数を呼び出すことで使うことができます。fetch 関数は、Promise を返すため、then メソッドや async/await を使って非同期処理を行うことができます。
fetch('https://jsonplaceholder.typicode.com/posts')
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.log(error))
上記のコードは、https://jsonplaceholder.typicode.com/posts からデータを取得し、JSON 形式でコンソールに表示する例です。fetch メソッドは、HTTP メソッドを指定するための第 2 引数を持っています。例えば、以下のように POST メソッドを使うことができます。
fetch('https://example.com/data', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({ key: 'value' }),
})
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.log(error))
TypeScript で fetch を使う方法
fetch には型定義がないため、TypeScript で fetch を使う場合は、型定義をインストールする必要があります。fetch には何種類かの型定義がありますが、ここでは@types/node-fetch
を例に取ります。
npm install --save-dev @types/node-fetch
型定義をインストールしたら、以下のように fetch を使うことができます。
import fetch from 'node-fetch'
fetch('https://jsonplaceholder.typicode.com/posts')
.then((response) => response.json())
.then((data) => console.log(data))
.catch((error) => console.log(error))
上記のコードは、Node.js で fetch を使う場合の例です。ブラウザで fetch を使う場合は、import するモジュールが異なるため注意してください。