Lightning データサービスでのエラーの処理
Lightning Data サービスは、サーバのリソース (レコード、オブジェクトなど) にアクセスできない場合にエラーを返します。
たとえば、ワイヤアダプタへの入力が正しくない (例: レコード ID が不正、必須項目が欠落している) 場合には、エラーが発生します。レコードがキャッシュになく、サーバがオフラインである場合にもエラーが返されます。また、サーバ上でリソースが削除されたり、共有や表示の設定が更新されたりすることで、そのリソースにアクセスできなくなる場合もあります。
FetchResponse
エラーオブジェクトは、取得 API の応答オブジェクトの後にモデリングされます。これには、レスポンスボディ、状況コード、メッセージが含まれます。
body
(オブジェクトまたは配列) — 基になる API により定義されたレスポンスボディ。ok
(Boolean) — 応答が成功であったかどうかを示します。エラーの場合、ok
は常にfalse
で、状況コードは 400 ~ 599 の範囲内となります。status
(数字) — 応答の状況コードが含まれます。たとえば、リソースが見つからない場合は 404、内部サーバエラーでは 500 が含まれます。statusText
(文字列) — 状況コードに対応する状況メッセージが含まれます。たとえば、状況コード 404 ではNOT_FOUND
が含まれます。
エラーオブジェクトを使用して、getRecord
ワイヤアダプタから返されるエラーを処理します。
JavaScript コードは、エラー本体が配列またはオブジェクトであるかどうかを確認して、エラーメッセージを返します。
エラーのレスポンスボディは、そのエラーを返す API によって異なります。
getRecord
ワイヤアダプタなどの UI API 読み取り操作では、error.body
はオブジェクトの配列として返されます。createRecord
ワイヤアダプタなどの UI API 書き込み操作では、error.body
はオブジェクトとして返され、多くの場合、オブジェクトレベルおよび項目レベルのエラーを伴います。- Apex の読み取りおよび書き込み操作では、
error.body
はオブジェクトとして返されます。 - オフラインエラーなどのネットワークエラーでは、
error.body
はオブジェクトとして返されます。
関連トピック
- User Interface API Developer Guide (ユーザインターフェース API 開発者ガイド): Error Message (エラーメッセージ)
- User Interface API Developer Guide (ユーザインターフェース API 開発者ガイド): Status Codes and Error Responses (状況コードとエラー応答)