AI翻訳通知
このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
ctx.request()
RunJS 内で認証済みの HTTP リクエストを送信します。リクエストには、現在のアプリケーションの baseURL、Token、locale、role などが自動的に付与され、アプリケーションのリクエストインターセプトおよびエラー処理ロジックが適用されます。
適用シーン
JSBlock、JSField、JSItem、JSColumn、ワークフロー(イベント流)、連動、JSAction など、RunJS 内でリモート HTTP リクエストが必要なあらゆるシーンで使用できます。
型定義
RequestOptions は Axios の AxiosRequestConfig をベースに拡張されています:
主要なパラメータ
リソース形式の URL
NocoBase リソース API は、リソース:アクション という短縮形式をサポートしています:
相対パスはアプリケーションの baseURL(通常は /api)と結合されます。クロスドメインの場合は完全な URL を使用し、ターゲットサービスで CORS を設定する必要があります。
レスポンス構造
戻り値は Axios のレスポンスオブジェクトです。主なフィールドは以下の通りです:
response.data:レスポンスボディ- リスト取得 API の場合、通常は
data.data(レコード配列)+data.meta(ページネーションなど)となります。 - 1件取得/作成/更新 API の場合、多くは
data.dataが単一のレコードとなります。
例
リストクエリ
データの送信
フィルタリングとソート
エラー通知のスキップ
クロスドメインリクエスト
完全な URL を使用して 他のドメインにリクエストする場合、ターゲットサービスで現在のアプリケーションのオリジンを許可する CORS 設定が必要です。ターゲット API に独自のトークンが必要な場合は、headers を介して渡すことができます:
ctx.render と組み合わせた表示
注意事項
- エラー処理:リクエストが失敗すると例外がスローされ、デフォルトでグローバルなエラー通知が表示されます。
skipNotify: trueを使用することで、独自にキャッチして処理できます。 - 認証:同一ドメインへのリクエストには、現在のユーザーの Token、locale、role が自動的に付与されます。クロスドメインの場合はターゲット側で CORS のサポートが必要であり、必要に応じて headers でトークンを渡します。
- リソース権限:リクエストは ACL(アクセス制御リスト)の制約を受け、現在のユーザーが権限を持つリソースにのみアクセスできます。
関連情報
- ctx.message - リクエスト完了後に軽量なヒントを表示
- ctx.notification - リクエスト完了後に通知を表示
- ctx.render - リクエスト結果をインターフェースにレンダリング
- ctx.makeResource - リソースオブジェクトを構築し、チェーン形式でデータをロード( 直接
ctx.requestを使用する方法との選択肢)

