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" } |