リクエスト
NocoBase は、Axios をベースにした APIClient を提供しており、Context を取得できるあらゆる場所から HTTP リクエストを発行できます。
Context を取得できる一般的な場所は以下の通りです。
app.contextengine.contextplugin.contextmodel.context
ctx.api.request()
ctx.api.request() は、最もよく使われるリクエスト発行メソッドです。その引数と戻り値は、axios.request() と完全に同じです。
基本的な使い方
標準的な Axios のリクエスト設定をそのまま使用できます。
ctx.api.axios
ctx.api.axios は AxiosInstance のインスタンスで 、これを使ってグローバルなデフォルト設定を変更したり、リクエストインターセプターを追加したりできます。
デフォルト設定の変更
利用可能な設定の詳細については、Axios のデフォルト設定 を参照してください。
リクエストとレスポンスのインターセプター
インターセプターを使用すると、リクエストが送信される前やレスポンスが返された後に処理を実行できます。例えば、リクエス トヘッダーの一括追加、パラメーターのシリアライズ、エラー通知の一元化などが可能です。
リクエストインターセプターの例
レスポンスインターセプターの例
NocoBase Server のカスタムリクエストヘッダー
NocoBase Server がサポートするカスタムリクエストヘッダーは以下の通りで、マルチアプリケーション、国際化、多ロール、または多認証のシナリオで使用できます。
💡 ヒント
これらのリクエストヘッダーは通常、インターセプターによって自動的に注入されるため、手動で設定する必要はありません。テスト環境やマルチインスタンスシナリオなどの特殊な場合にのみ、手動で追加する必要があります。
コンポーネントでの使用
React コンポーネントでは、useFlowContext() を介してコンテキストオブジェクトを取得し、ctx.api を呼び出してリクエストを発行できます。
ahooks の useRequest と組み合わせて使用する
実際の開発では、ahooks が提供する useRequest Hook と組み合わせることで、リクエストのライフサイクルと状態をより便利に処理できます。
このアプローチにより、リクエストロジックがより宣言的になり、読み込み状態、エラー処理、更新ロジックが自動的に管理されます。これはコンポーネントでの使用に非常に適しています。

