1. ヘルプ
  2. 機能
  3. コンテンツAPI(GET)

特定のフィールドにデータが登録されているコンテンツのみを取得するにはどうしたらよいですか?

filtersパラメータの条件に[exists]を指定することで特定のフィールドにデータが登録されているコンテンツのみを取得できます

取得方法

コンテンツ一覧を取得する際、filtersパラメータにfieldId[exists]のように指定することで特定のフィールドにデータが登録されているコンテンツのみを取得できます。

ドキュメント:GET /api/v1/{endpoint} > exists

取得例

例として以下のようなスキーマ設定をしているAPIがあるとします。

フィールド ID  表示名 種類
title タイトル テキストフィールド
product プロダクト カスタムフィールド-プロダクト

カスタムフィールド内のスキーマ

フィールド ID  表示名 種類
name 名前 テキストフィールド
description 説明文 テキストエリア

CleanShot 2024-10-22 at 17.39.30

"タイトル"にデータが登録されているコンテンツのみを取得する場合

filtersパラメータにtitle[exists]を指定してリクエストをします。

client
      .get({
        endpoint: 'blogs',
        queries: { filters: 'title[exists]' }
      })
      .then((res) => console.log(res));

※上記はmicrocms-js-sdkを利用したリクエストの例です。

カスタムフィールド内の"名前"にデータが登録されているコンテンツのみを取得する場合

filtersパラメータにproduct.name[exists]を指定してリクエストをします。

client
      .get({
        endpoint: 'blogs',
        queries: { filters: 'product.name[exists]' }
      })
      .then((res) => console.log(res));

※上記はmicrocms-js-sdkを利用したリクエストの例です。