機能

Httpリクエストの送信

Umiは、HTTPリクエストを送信するために使用できるシンプルなHttpInterfaceを提供します。これにより、任意のUmiプラグインやサードパーティライブラリは、同じプロジェクトで複数のHttpクライアントを持つことなく、エンドユーザーが使用することを選択したHttpクライアントに依存できます。

HttpInterfaceは、ジェネリックHttpRequest<T>を受け取り、ジェネリックHttpResponse<U>を返す単一のメソッドsendのみを定義します。ここでTUはそれぞれリクエストとレスポンスのボディタイプです。

Umiは、HttpRequestHttpResponseタイプによって使用されるHttpHeadersHttpMethodなどのさまざまなHttp関連タイプを定義します。リクエスト送信の開発者エクスペリエンスを向上させるため、UmiはHttpRequestインスタンスを作成するために使用できる小さなリクエストビルダーを提供しています。詳細についてはHttpRequestBuilderタイプのAPIリファレンスをチェックすることをお勧めしますが、以下にいくつかの例を示します:

// GET JSONリクエスト。
await umi.http.send(request().get('https://example.com/users/1').asJson());
// POSTフォームリクエスト。
const data = { name: 'John Doe', email: '[email protected]' };
await umi.http.send(request().post('https://example.com/users').asForm().withData(data));
// ベアラートークン付きPUTリクエスト。
await umi.http.send(request().put('https://example.com/users/1').withToken('my-token'));
// 中止シグナル付きGETリクエスト
await umi.http.send(request().get('https://example.com/users').withAbortSignal(mySignal));