この文章は Salesforce 機械翻訳システムを使用して翻訳されました。詳細はこちらをご参照ください。
リモートインクルードは、特にキャッシングと組み合わせて慎重に使用してください。リモートインクルードからのキャッシュミスが多すぎると、システムパフォーマンスに悪影響を及ぼします。また、認証と認可はメインリクエストに対してのみ実行され、インクルードリクエストに対しては実行されないことに注意してください。
Important
B2C Commerce 25.1 では、リモートインクルードを使用して他のソースからのレスポンスを含めることで、API レスポンスをさらに拡張できます。
たとえば、SCAPI の カスタム API またはシステム API からのレスポンスを含めて、追加の商品詳細を提供できます。
例 1: フック dw.ocapi.shop.product.modifyGETResponse は、商品のレスポンスをカスタマイズするために使用されます。カスタム API エンドポイント remoteInclude は、カスタムプロパティ c_remote を使用して商品に追加されるサンプルを提供します。
1exports.remoteInclude = function() {
2 var info = {
3 id: "test-id"
4 };
5 dw.system.RESTResponseMgr.createSuccess(info).render();
6}1exports.modifyGETResponse = function(scriptProduct, doc) {
2 var include = dw.system.RESTResponseMgr.createScapiRemoteInclude('custom', 'my-api', 'v1', 'remoteInclude');
3 doc.c_remote = {
4 value: [ include ]
5 };
6}例 2: フック dw.ocapi.shop.product.modifyGETResponse は、商品のレスポンスをカスタマイズするために使用されます。これは、カスタムプロパティ c_remote を使用して商品に追加されるプロモーションデータによって拡張されます。
1exports.modifyGETResponse = function(scriptProduct, doc) {
2 var include = dw.system.RESTResponseMgr.createScapiRemoteInclude('pricing', 'shopper-promotions', 'v1', 'promotions', dw.web.URLParameter("siteId", "MySite"), dw.web.URLParameter("ids", "my-first-promotion,my-second-promotion"));
3 doc.c_remote = {
4 value: [ include ]
5 };
6}配列に複数のリモートインクルードを追加して、複雑で強力なレスポンスを作成できます。
Note
RestResponseMgr メソッド createScapiRemoteInclude() では、SCAPI URL のみが許可されます。RestResponseMgr メソッド createStorefrontControllerRemoteInclude() では、コントローラー URL のみが許可されます。クロス API リクエスト (たとえば、カスタム API または SCAPI フック内にコントローラーのレスポンスを含める) は使用できません。
Important
詳細と例については、RemoteInclude およびフック間でのデータの受け渡しを参照してください。