---
title: "リンク拡張の利用"
slug: "using-link-expansion"
abstract: "Sitecore CDP REST APIにおけるリソースおよびサブリソースの拡大の概要。"
---
# リンク拡張の利用

コレクションリソースをリクエストする際、サーバーにはそのリソースだけでなく、リンクされたリソースの一つ以上も返してほしいと考えるかもしれません。リンク拡張により、複数の個別リクエストを出す代わりに、サーバーに対して単一のリクエストで関連リソースを取得できます。この手法を用いて、サーバーへの往復通信リクエスト数を減らし、アプリケーションのパフォーマンスを向上させることができます。

## 資源の拡大

コレクションを取得し、そのアイテムを拡張するには、expandクエリパラメータをtrueの値を指定できます。これにより、コレクションごとに複数回のフォローオンリクエストを出す必要がなくなります。

expandクエリパラメータを用いる:

curl -X GET '<baseURL>/v2/someCollection?expand=true'

JSON応答の拡張items配列:

{
 "href": "<baseURL>/v2/someCollection?expand=true",
 "offset": 0,
 "limit": 10,
 "items" : 
 {
 "href": "<baseURL>/v2/someCollection/37e60a14-9198-4b38-8bc3-f3924e2b6fe4?expand=true",
 "name" : "My sample name"
 },
 {
 "href": "<baseURL>/v2/someCollection/D1548691-47DF-41B6-A7B7-77516A76D62C",
 "name" : "My other sample name"
 }
 
}

JSONの回答では、itemsはもはやリンクではありません。代わりに、この法案はインラインに拡大され、対応機関に組み込まれています。

## サブリソースの拡大

サブリソースを一つだけ拡張したい場合や、複数のサブリソースのリストだけを拡大したい場合もあります。これを行うには、サブリソースの名前をexpandクエリパラメータの値として指定します。

複数のサブリソースを拡張したい場合は、サブリソースの名前をカンマ区切りのリストとして含めてください。

サブリソースの拡張:

curl -X GET '<baseURL>/v2/someCollection/37e60a14-9198-4b38-8bc3-f3924e2b6fe4?expand=someSubResource'

JSON応答の拡張されたサブリソース:

{
 "href": "<baseURL>/v2/someCollection/37e60a14-9198-4b38-8bc3-f3924e2b6fe4?expand=someSubResource",
 "name" : "My sample name",
 "someSubResource": {
 "href": "<baseURL>/v2/someCollection/37e60a14-9198-4b38-8bc3-f3924e2b6fe4/someSubResource",
 "name" "My sample some sub resource name"
 },
 "someSubCollections": {
 "href": "<baseURL>/v2/someCollection/37e60a14-9198-4b38-8bc3-f3924e2b6fe4/someSubCollections"
 }
}