---
title: "JSS RESTレイアウトサービスでレイアウトデータを取得"
slug: "fetch-layout-data-with-the-jss-rest-layout-service"
abstract: "JSS REST Layout ServiceでSitecoreレイアウトデータを取得する方法の例です。"
---
# JSS RESTレイアウトサービスでレイアウトデータを取得

Sitecoreからレイアウトデータを取得するためのエンドポイントの一つは、[Sitecore Headless Services](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/sitecore-headless-services.html "Sitecore Headless Services")が提供する[Sitecoreレイアウトサービス](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/layout-service.html "Layout Service")で、JSSが提供するクラスをRestLayoutServiceしています。

Sitecoreレイアウトサービスを利用する際は、JSS RESTレイアウトサービスのtrackingプロパティの値を切り替えることで、ページビューの追跡を有効化(または無効化)することもできます。

JSSを用いてJSSアプリケーションからSitecoreレイアウトサービスを呼び出すには:

1.  layout-service.tsファイルでRestLayoutServiceクラスとアプリの設定をインポートします:
    
    import { RestLayoutService } from '@sitecore-jss/sitecore-jss';
    import config from './config';
    
2.  RestLayoutServiceインスタンスを作成し、構成オブジェクト(型RestLayoutServiceConfigのもの)を提供します。
    
    export const layoutService = new RestLayoutService({
     apiHost: config.sitecoreApiHost,
     apiKey: config.sitecoreApiKey,
     siteName: config.jssAppName,
     // tracking: false // if you wish to disable tracking
    });
    
3.  データを取得したいファイルで、新しいレイアウトサービスインスタンスをインポートして使用します:
    
    import { layoutService } from './layout-service';
    
    const language = 'en';
    const sitecoreRoutePath = '/styleguide';
    
    layoutService.fetchLayoutData(sitecoreRoutePath, language).then(data => {
     // do something with the data
    });
    

デフォルトの実装がニーズに合わない場合は [、カスタムデータフェッチャーを使う](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/fetch-layout-data-using-a-custom-rest-data-fetcher.html "Fetch layout data using a custom REST data fetcher")ことができます。