カスタムRESTデータフェッチャーによるレイアウトデータの取得

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

JSS RestLayoutServiceConfig型はdataFetcherResolverプロパティを受け入れます。このプロパティを使ってカスタムデータフェッチャーをLayout Serviceのインスタンスに渡すことができます。デフォルトでは、JSS REST Layoutサービスはaxiosを使用します。

カスタムデータフェッチャーでRESTレイアウトサービスを使用するには:

  1. layout-service.tsファイル内で、RestLayoutServiceクラスのインスタンスを作成し、構成オブジェクトを提供します:

    import { AxiosResponse } from 'axios'; import { AxiosDataFetcher, RestLayoutService, LayoutServiceData } from '@sitecore-jss/sitecore-jss'; import config from './config';

    // define your custom data fetcher function dataFetcher(url: string, data?: unknown): Promise<AxiosResponse> { return new AxiosDataFetcher().fetch(url, data); }

    export const layoutService = new RestLayoutService({ apiHost: config.sitecoreApiHost, apiKey: config.sitecoreApiKey, siteName: config.jssAppName, // provide your custom data fetcher to the service instance dataFetcherResolver: () => dataFetcher });

  2. 新しいレイアウトサービスをインポートして利用してください:

    import { layoutService } from './layout-service';

    const language = 'en'; const sitecoreRoutePath = '/styleguide';

    layoutService.fetchLayoutData(sitecoreRoutePath, language).then(data => { // do something with the data });

この記事を改善するための提案がある場合は、 お知らせください!