legacy-knowledge-base
公開されました Jul. 2, 2025

Headless Delivery API - 構造化コンテンツのフィルタリング

written-by

Antonio Ortega

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • ヘッドレス配信 API を使用すると、すべての Web コンテンツを取得できますが、特定の構造から作成された Web コンテンツのみを取得したり、フィールドに特定の値が含まれているコンテンツのみを取得したりするなど、さまざまなビジネス要件に従ってコンテンツをフィルター処理したい場合があります。 . これらの目標を達成するには、ヘッドレス配信 API が構造化コンテンツでどのように機能するかを理解することが重要です。

Environment

  • Liferay DXP 7.2+

解決策

  • hereで説明したように、 ContentField 値 (エンド ユーザーによって作成された動的な値) をフィルタリングするには、個々の ContentStructureにスコープが設定されたエンドポイントを使用する必要があります。 これを行うには、 ContentStructure の ID を見つけて、次の URL の {contentStructureId} の代わりに使用します。
/content-structures/{contentStructureId}/structured-contents
  • その contentStructureId のすべてのコンテンツを取得したら、それらをフィルタリングできますが、ヘッドレス配信 API は Elastic Search によって提供される情報に依存しているため、キーワードでインデックス付けできるフィールドのみがフィルタリング可能になることに注意する必要があります。
  • HTML や Select などの一部のタイプのフィールドには、キーワードでインデックス可能にするオプションがないため、ヘッドレス配信 API でフィルタリングできません。
  • フィールドと値でフィルタリングするには、以下の URL を例として使用できます。
/content-structures/{contentStructureId}/structured-contents/?filter=contentFields/title eq 'MyTitle'
  • HTML フィールドに何らかの値を持つ Web コンテンツを見つける必要がある場合、フィルタリングはできませんが、少なくとも探している文字列を検索することはできます。
content-structures/{contentStructureId}/structured-contents/?search='textWeWantToFind'

追加情報

did-this-article-resolve-your-issue

legacy-knowledge-base