EntityServiceメタデータ交換
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
サーバー上のEntityServiceの呼び出しを管理するJavaScriptは、処理するエンティティ クラスのプロパティについて認識する必要があります。JavaScriptレイヤーは、C# エンティティ クラスの型とそのプロパティに存在するバリデーターを認識している場合、エンティティに割り当てられたデータのクライアント側検証を実行できます。
EntityServiceハンドラは、HTTP OPTIONS要求をリッスンすることで、このメタデータ交換を支援します。OPTIONSリクエストが見つかると、サービスが提供するHTTPアクションと、サービスが動作するエンティティタイプの詳細な説明を説明するJSON形式のHTTPレスポンスで応答します。
EntityServiceのアクション エンドポイントを呼び出す前に、JavaScriptコードは1回のHTTP OPTIONS呼び出しを行って、サーバーからサービスのメタデータを受け取ります。
メタデータの例を次に示します。
メタデータには、サーバーに送信できるエンティティに関する情報も含まれています。
EntityServiceJSは、サーバーが送信するメタデータに基づいてデータをサニタイズします。
アクションエンドポイント
アクションエンドポイント
OPTIONSリクエストによって返されるメタデータには、JSONレスポンスにactionsオブジェクトが含まれます。このオブジェクトには、エンドポイントが公開する各HTTP動詞のメソッドと関連するメソッド シグネチャに関する詳細があります。
例えば:
ここで、entityTypeはEntityServiceのC# 型名です。
エンティティのメタデータ
エンティティのメタデータ
OPTIONSリクエストは、JSONレスポンスにエンティティオブジェクトを含むメタデータを返します。このエンティティ オブジェクトは、EntityServiceが処理するマップされたC# エンティティ型の詳細を提供します。
例えば:
EntityServiceが処理するすべてのC# エンティティ型は、Sitecore.Services.Core.Model.EntityIdentity.
.NETからJavascriptへの型マッピング
.NETからJavascriptへの型マッピング
Sitecore.Services.Client .NET型をJavaScriptデータ型にマップします。以下は、単純型のマッピング変換です:
|
.NET type |
JavaScript data type |
|---|---|
|
糸 |
糸 |
|
ブール値 |
ブーリアン |
|
整数 |
数 |
|
浮く |
数 |
|
複 |
数 |
|
長い |
数 |
|
日時 |
日時 |
|
グイド |
GUIDの |
|
列挙型 |
数 |
guidはJavaScriptデータ型ではありませんが、EntityService JavaScriptレイヤーはそれをID型として認識し、それに応じて扱います。
非プリミティブ型のサポート
非プリミティブ型のサポート
エンティティ記述のメタデータは、次の非プリミティブ型をサポートしています。
-
配列
-
List< T > Genericコレクション
-
IEnumerable< T >
-
クラスと構造体
エンティティには、Sitecore.Services.Core.Model.EntityIdentityから派生した型のプロパティを含めることはできません。