JSON コンパクト形式の目的は、軽量構造を使用してマスターデータを取得することです。キーバリュー設計に従って、技術情報なしで最も簡単な方法でデータを表示します。コンパクト形式をアクティブにするには、data-compact や form-data-compact などの compact サフィックス REST カテゴリを URL で使用する必要があります。
リクエストの本文は JSON オブジェクトで表され、その内容は操作とカテゴリによって異なります。
データセットノード
指定したノードの下のターミナルノードのターゲット値を指定します。このリクエストは、データセットノードの Update 操作に使用されます。
{
  "nodeName1": true,
  "nodeName2": 2,
  "nodeName3": "Hello"
}
HTTP リクエストと HTTP 応答の間で JSON 対称構造を確保するために、列挙ノードリクエストの形式は次のようになります。
{
  "enumerationNode": {
    "key": "a key value"
  }
}
レコード
各フィールドの値を設定して、ターゲットレコードの内容を指定します。欠落しているフィールドの場合、動作はリクエストパラメーター byDelta によって異なります。この構造体は、ローカル列挙型の依存関係フィールド値が宣言されている場合に、テーブルレコードの挿入、レコードの更新、またはセレクターの Select 操作に使用されます。
{
  "gender": {
    "key": "M"
  },
  "lastName": "Chopin",
  "lastName-en": "Chopin",
  "firstName": "Fryderyk",
  "firstName-en": "Frédéric",
  "birthDate": "1810-03-01",
  "deathDate": "1849-10-17",
  "jobs": [
    {
      "key": "CM"
    },
    {
      "key": "PI"
    }
  ],
  "infos": [
    "https://en.wikipedia.org/wiki/Chopin"
  ]
}
レコードフィールド
各フィールドの値を設定して、レコードターミナルノードの下のフィールドのターゲット値を指定します。欠落しているフィールドの場合、動作はリクエストパラメーター byDelta によって異なります。この構造は、テーブルレコードの更新にのみ使用されます。
{
  "jobs": [
    {
      "key": "CM"
    },
    {
      "key": "PI"
    }
  ]
}
レコードテーブル
各フィールドの値を示すことにより、1 つ以上のレコードの内容を定義します。欠落しているフィールドの場合、動作はリクエスト byDelta のパラメーターによって異なります。この構造は、テーブルのレコードを挿入または更新するときに使用されます。
[
  {
    "gender": {
      "key": "M"
    },
    "lastName": "Saint-Saëns",
    "firstName": "Camille",
    "birthDate": "1835-10-09",
    ...
  },
  {
    "gender": {
      "key": "M"
    },
    "lastName": "Debussy",
    "firstName": "Claude",
    "birthDate": "1862-10-22",
    ...
  }
]
削除するレコードテーブル
1 つ以上のレコードを定義します。この構造は、同じテーブルから複数のレコードを削除するときに使用されます。
[
  {
    "details": "http://.../root/table/1"
  },
  {
    "details": "http://.../root/table/2"
  },
  {
    "primaryKey": "./oid=3"
  },
  {
    "foreignKey": "4"
  },
  ...
]
フィールド
ターゲットフィールドの内容を指定します。このリクエストは、フィールドの更新時に使用されます。
リクエストの構造は、ノード値で定義されているものと同じです。
ユーザーインターフェイスを開くまたは閉じる
ユーザーインターフェイスが開いているか閉じているか、および使用不可メッセージを指定します。
{
  "toolStatus": {
    "key": true,     // or false
    "label": "Open"
  },
  "toolStatusCloseMessage": "Access is temporarily forbidden for maintenance."
}
リクエストで言及できるのは書き込み可能なフィールドのみです。これには、次の場合は含まれません。
関連付けノード
選択ノード
値関数
セッターを持たない JavaBean フィールド
認証されたユーザーのノードに対する書き込み不可能なアクセス許可
応答の本文は JSON オブジェクトで表され、その内容は操作とカテゴリによって異なります。
データセットツリー
テーブルノードと非ターミナルグループノードの階層が含まれます。
{
  "hasChildren": false,
  "rootName": {
    "settings": {
      "weekTimeSheet": {},
      "vacationRequest": {}
    },
    "table1": {},
    "table2": {}
  }
}
データセットノード
指定されたノードの下のターミナルノードのリストが含まれます。
{
  "nodeName1": true,
  "nodeName2": 2,
  "nodeName3": "Hello"
}
データセットのリスト
それぞれ指定されたデータスペースまたはデータセットのルート データセットまたは子データセットのリストを含む JSON オブジェクト。
すべてのデータセット JSON オブジェクト には次のプロパティがあります。
| JSON プロパティ | JSON 形式 | 説明 | 必須 | 
|---|---|---|---|
| 
 | 
 | データセットのフォーマット設定されたキーを指定します。 形式: | はい | 
| 
 | 
 | ユーザーの権限に従ってデータセットを選択できるかどうかを指定します。 | はい | 
| 
 | 
 | ユーザーの権限に従って、データセットに子があるかどうかを指定します。 | はい | 
{
  "rows": [
    {
      "key": "mydataset",
      "isSelectAllowed": true,
      "hasChildren": true
    },
    {
      // Another dataset
    }
  ],
  "pagination": {
    "firstPage": "http://.../data/v1/BReference?pageSize=4",
    "nextPage": "http://.../data/v1/BReference?pageSize=4&firstElementIndex=4",
    "previousPage": null,
    "lastPage": "http://.../data/v1/BReference?pageSize=4&firstElementIndex=8"
  }
}
データセット情報
次のプロパティを含む JSON オブジェクト
| JSON プロパティ | JSON 形式 | 説明 | 必須 | 
|---|---|---|---|
| 
 | 
 | データセットのフォーマット設定されたキー値を指定します。 形式: | はい | 
| 
 | JSON  | データセットスキーマの場所を指定します。モジュールスキーマにパッケージ化されたものとパブリケーションのみがサポートされます。 | はい | 
| 
 | 
 | データセットスキーマが配置されているモジュール名を指定します。 | いいえ | 
| 
 | 
 | データセットスキーマが配置されているモジュール内のパスを指定します。 | いいえ | 
| 
 | 
 | データセットスキーマのパブリケーション名を指定します。 | いいえ | 
| 
 | 
 | データセットスキーマパブリケーションのデータモデル名を指定します。 | いいえ | 
| 
 | 
 | データセットスキーマパブリケーションのバージョン名を指定します。 | いいえ | 
| 
 | 
 | 親データセットのフォーマット設定されたキー値を指定します。親がない場合は、 | はい | 
| 
 | 
 | データセットがアクティブ化されているかどうかを指定します。 | はい | 
| 
 | 
 | 所有者プロファイルを指定します。 | はい | 
| 
 | 
 | 作成者プロファイルを指定します。 | はい | 
| 
 | 
 | 作成時刻を指定します。 | はい | 
| 
 | 
 | アップデータープロファイルを指定します。 | はい | 
| 
 | 
 | 更新時刻を指定します。 | はい | 
{
  "key": "mydataset",
  "dataModel": {
    "module": "modulename",
    "pathInModule": "/WEB-INF/ebx/schemas/mydataset.xsd"
  },
  "parent": null,
  "activated": true,
  "owner": "Beveryone",
  "creator": "Uadmin",
  "creation_time": "2023-10-10T15:49:03.023",
  "updater": "Uadmin",
  "update_time": "2023-10-10T15:49:03.005"
}
テーブル
次のプロパティを含む JSON オブジェクト
選択したレコードの JSON 配列に対応する行。各レコードは、JSON オブジェクトで表されます。レコードが選択されていない場合、JSON 配列は空です。
(オプション) ページ付けデータを含むページ付け。
{
  "rows": [
    {
      "id": 1,
      "firstName": "Claude",
      "lastName": "Levi-Strauss"
    },
    {
      "id": 2,
      "firstName": "Sigmoud",
      "lastName": "Freud"
    },
    {
      "id": 3,
      "firstName": "Alfred",
      "lastName": "Dreyfus"
    }
  ],
  "pagination": {
    "firstPage": null,
    "previousPage": null,
    "nextPage": "http://.../root/individu?pageRecordFilter=./id=9&pageSize=9&pageAction=next",
    "lastPage": "http://.../root/individu?pageSize=9&pageAction=last"
  }
}
レコード
レコードコンテンツを含む JSON オブジェクト。
{
  "pk": "pk1",
  "name": "Name1",
  "name-fr": "Name1",
  "parent": null
}
フィールド
コンパクト JSON 形式は、関連付けノードと選択ノードをサポートしていません。
他の種類のノードの場合、それらには現在のノード値が含まれます。
ユーザーインターフェイスの状態の取得
ユーザーインターフェイスのステータスと使用不可メッセージが含まれます。
{
  "toolStatus": {
    "key": true,     // or false
    "label": "Open"
  },
  "toolStatusCloseMessage": "Access is temporarily forbidden for maintenance."
}
ノード、レコード、フィールドのプロパティと値は、解決された権限 (権限を参照) によっては非表示になる場合があります。
このセクションは常に含まれており、追加のフィールドなしでマスターデータが含まれています。
ノード値には、データまたはラベルと、列挙の場合は詳細リンクのみが含まれます。関連付けと選択を除くすべてのノードで使用できます。
ノードのコンテンツを記述するキーと値の JSON エントリに対応します。
| XML スキーマ | JSON 形式 | 例 | 
|---|---|---|
| Group 
 | 
 サブノードごとのプロパティが含まれます。 | 単純オカレンスグループの例 
{
  "road": "11 rue scribe",
  "zipcode": "75009",
  "country": "France"
} | 
| List 
 | 
 JSON  各 JSON  | 
 [ 0, 1, 2, 3, 4 ] 複数オカレンスグループの例 
[
  {
    "road": "11 rue scribe",
    "zipcode": "75009",
    "country": "France"
  },
  {
    "road": "711 Atlantic Ave",
    "zipcode": "MA 02111",
    "country": "United States"
  }
] | 
| Enumeration 
 | 
 
 | 外部キーの例 
{
  "key":"1",
  "details":"http://.../Bdataspace/dataset/root/nationality/FRA",
  "label":"Française"
} |