content
拡張形式
Related information
はじめに
JSON 拡張形式は、マスターデータ、技術情報、およびメタデータを取得するために使用されます。検証、並べ替えなどのいくつかの機能を含めることができるように拡張された方法で設計されています。拡張形式をアクティブにするには、
data や form-data などのサフィックスのない REST カテゴリを URL で使用する必要があります。
グローバル構造
JSON リクエスト本文
リクエストの本文は JSON
オブジェクトで表され、その内容は操作とカテゴリによって異なります。
データカテゴリ
リクエストの本文には、マスターデータ値を保持する
content プロパティが少なくとも含まれています。
-
データセットノード指定したノードの下のターミナルノードのターゲット値を指定します。このリクエストは、データセットノードの Update 操作に使用されます。
{
"content": {
"nodeName1": {
"content": true
},
"nodeName2": {
"content": 2
},
"nodeName3": {
"content": "Hello"
}
}
}以下も参照してください。: -
レコード各フィールドの値を設定して、ターゲットレコードの内容を指定します。欠落しているフィールドの場合、動作はリクエストパラメーター
byDeltaによって異なります。この構造体は、ローカル列挙型の依存関係フィールド値が宣言されている場合に、テーブルレコードの挿入、レコードの更新、またはセレクターの Select 操作に使用されます。以下も参照してください。:lastUpdateDateなど、一部の技術データはcontentプロパティの横に追加できます。以下も参照してください。:
{
...
"lastUpdateDate": "2015-12-25T00:00:00.001",
...
"content": {
"gender": {
"content": "Mr."
},
"lastName": {
"content": "Chopin"
},
"lastName-en": {
"content": "Chopin",
"inheritedFieldMode": "inherit"
},
"firstName": {
"content": "Fryderyk"
},
"firstName-en": {
"content": "Frédéric",
"inheritedFieldMode": "overwrite"
},
"birthDate": {
"content": "1810-03-01"
},
"deathDate": {
"content": "1849-10-17"
},
"jobs": {
"content": [
{
"content": "CM"
},
{
"content": "PI"
}
]
},
"infos": {
"content": [
{
"content": "https://en.wikipedia.org/wiki/Chopin"
}
]
}
}
}以下も参照してください。: -
レコードフィールド各フィールドの値を設定して、レコードターミナルノードの下のフィールドのターゲット値を指定します。欠落しているフィールドの場合、動作はリクエストパラメーター
byDeltaによって異なります。この構造は、テーブルレコードの更新にのみ使用されます。以下も参照してください。:
{
"content": [
{
"content": "CM"
},
{
"content": "PI"
}
]
}以下も参照してください。: -
レコードテーブル各フィールドの値を示すことにより、1 つ以上のレコードの内容を定義します。欠落しているフィールドの場合、動作はリクエストの
byDeltaパラメーターによって異なります。この構造は、テーブルのレコードを挿入または更新するときに使用されます。
{
"rows": [
{
"content": {
"gender": {
"content": "M"
},
"lastName": {
"content": "Saint-Saëns"
},
"firstName": {
"content": "Camille"
},
"birthDate": {
"content": "1835-10-09"
},
...
}
},
{
"content": {
"gender": {
"content": "M"
},
"lastName": {
"content": "Debussy"
},
"firstName": {
"content": "Claude"
},
"birthDate": {
"content": "1862-10-22"
},
...
}
}
]
}以下も参照してください。: -
削除するレコードテーブル1 つ以上のレコードを定義します。この構造は、同じテーブルから複数のレコードを削除するときに使用されます。
{
"rows": [
{
"details": "http://.../root/table/1"
},
{
"details": "http://.../root/table/2"
},
{
"primaryKey": "./oid=3"
},
{
"foreignKey": "4"
},
...
]
}以下も参照してください。: -
フィールドターゲットフィールドの内容を指定します。このリクエストは、フィールドの更新に使用されます。リクエストは、content エントリのみを保持することにより、
node valueで定義されたものと同じ構造になります。追加のエントリは単に無視されます。以下も参照してください。: -
ユーザーインターフェイスを開くまたは閉じるユーザーインターフェイスが開いているか閉じているか、および使用不可メッセージを指定します。
{
"content": {
"toolStatus": {
"content": true // or false
},
"toolStatusCloseMessage": {
"content": "Access is temporarily forbidden for maintenance."
}
}
}以下も参照してください。:リクエストで言及できるのは書き込み可能なフィールドのみです。これには、次の場合は含まれません。 -
関連付けノード
-
選択ノード
-
値関数
-
セッターを持たない JavaBean フィールド
-
認証されたユーザーのノードに対する書き込み不可権限
JSON 応答本文
応答の本文は JSON
オブジェクトで表され、その内容は操作とカテゴリによって異なります。
データカテゴリ
Select 操作には、2 つの異なる部分が含まれます。
meta という名前の最初のものには、応答の完全な構造が含まれています。
2 番目の
content、 rows、 pagination... などの再グループ化には、リクエストに対応する値が含まれています。
-
データセットツリー
テーブルノードと非ターミナルグループノードの階層が含まれます。
{
"meta": {
"fields": [
{
"name": "rootName",
"label": "Localized label",
"description": "Localized description",
"type": "group",
"pathInDataset": "/rootName",
"fields": [
{
"name": "settings",
"label": "Settings",
"type": "group",
"pathInDataset": "/rootName/settings",
"fields": [
{
"name": "settingA",
"label": "A settings label",
"type": "group",
"pathInDataset": "/rootName/settings/settingA"
},
{
"name": "settingB",
"label": "B settings label",
"type": "group",
"pathInDataset": "/rootName/settings/settingB"
}
]
},
{
"name": "table1",
"label": "Table1 localized label",
"type": "table",
"minOccurs": 0,
"maxOccurs": "unbounded",
"pathInDataset": "/rootName/table1"
},
{
"name": "table2",
"label": "Table2 localized label",
"type": "table",
"minOccurs": 0,
"maxOccurs": "unbounded",
"pathInDataset": "/rootName/table2"
}
]
}
]
},
"validation": [
{
"level": "error",
"message": "Value must be greater than or equal to 0.",
"details": "http://.../rootName/settings/settingA/settingA1?includeValidation=true"
},
{
"level": "error",
"message": "Field 'Settings A2' is mandatory.",
"details": "http://.../rootName/settings/settingA/settingA2?includeValidation=true"
}
],
"content": {
"rootName": {
"details": "http://.../rootName",
"openApiDetails": "http://.../api/.../rootName",
"content": {
"settings": {
"details": "http://.../rootName/settings",
"openApiDetails": "http://.../api/.../rootName/settings",
"content": {
"weekTimeSheet": {
"details": "http://.../rootName/settings/settingA",
"openApiDetails": "http://.../api/.../rootName/settings/settingA"
},
"vacationRequest": {
"details": "http://.../rootName/settings/settingB",
"openApiDetails": "http://.../api/.../rootName/settings/settingB"
}
}
},
"table1": {
"details": "http://.../rootName/table1",
"openApiDetails": "http://.../api/.../rootName/table1"
},
"table2": {
"details": "http://.../rootName/table2",
"openApiDetails": "http://.../api/.../rootName/table2"
}
}
}
}
}metaおよびvalidationプロパティはオプションです。以下も参照してください。: -
データセットノード指定されたノードの下のターミナルノードのリストが含まれます。
{
"meta": {
"fields": [
{
"name": "nodeName1",
"label": "Localized label of the field node 1",
"description": "Localized description",
"type": "boolean",
"minOccurs": 1,
"maxOccurs": 1,
"pathInDataset": "/rootName/.../nodeName1"
},
{
"name": "nodeName2",
"label": "Localized label of the field node 2",
"type": "int",
"minOccurs": 1,
"maxOccurs": 1,
"pathInDataset": "/rootName/.../nodeName2"
}
]
},
"content": {
"nodeName1": {
"content": true
},
"nodeName2": {
"content": -5,
"validation": [
{
"level": "error",
"message": "Value must be greater than or equal to 0."
}
]
}
}
}以下も参照してください。: -
テーブル次のプロパティを含む JSON
オブジェクト-
(オプション) テーブルメタモデル
-
(オプション) 適用される並べ替え基準
-
(オプション) テーブル検証レポート
-
選択したレコードの JSON
配列に対応するrowsプロパティ。各レコードは、JSONオブジェクトで表されます。レコードが選択されていない場合、JSON配列は空です。 -
(オプション)
paginationデータを含む pagination プロパティ。
{
"rows": [
{
"label": "Claude Levi-Strauss",
"details": "http://.../root/individu/1",
"content": {
"id": {
"content": 1
},
...
}
},
{
"label": "Sigmoud Freud",
"details": "http://.../root/individu/5",
"content": {
"id": {
"content": 2
},
...
}
},
...
{
"label": "Alfred Dreyfus",
"details": "http://.../root/individu/10",
"content": {
"id": {
"content": 30
},
...
}
}
],
"sortCriteria": [
{
"path": "/name",
"order": "lasc"
},
...
],
"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
オブジェクト-
ラベル
-
(オプション) レコード URL
-
(オプション) 技術データ
-
(オプション) テーブルメタモデル
-
(オプション) レコード検証レポート
-
(オプション) レコードの継承モード。
root、inherit、overwrite、またはoccultのいずれかになります。以下も参照してください。: -
レコードの内容
{
"label": "Name1",
"details": "http://.../rootName/table1/pk1",
"creationDate": "2015-02-02T19:00:53.142",
"creationUser": "admin",
"lastUpdateDate": "2015-09-01T17:22:24.684",
"lastUpdateUser": "admin",
"inheritanceMode": "root",
"meta": {
"name": "table1",
"label": "Table1 localized label",
"type": "table",
"minOccurs": 0,
"maxOccurs": "unbounded",
"primaryKeys": [
"/pk"
],
"inheritance": "true",
"fields": [
{
"name": "pk",
"label": "Identifier",
"type": "string",
"minOccurs": 1,
"maxOccurs": 1,
"pathInRecord": "pk",
"filterable": true,
"sortable": true
},
{
"name": "name",
"label": "Name",
"type": "string",
"minOccurs": 1,
"maxOccurs": 1,
"pathInRecord": "name",
"filterable": true,
"sortable": true
},
{
"name": "name-fr",
"label": "Nom",
"type": "string",
"minOccurs": 1,
"maxOccurs": 1,
"inheritedField": {
"sourceNode": "./name"
},
"pathInRecord": "name-fr",
"filterable": true,
"sortable": true
},
{
"name": "parent",
"label": "Parent",
"description": "Localized description.",
"type": "foreignKey",
"minOccurs": 1,
"maxOccurs": 1,
"foreignKey": {
"tablePath": "/rootName/table1",
"details": "http://.../rootName/table1"
},
"enumeration": "foreignKey",
"pathInRecord": "parent",
"filterable": true,
"sortable": true
}
]
},
"content": {
"pk": {
"content": "pk1"
},
"name": {
"content": "Name1"
},
"name-fr": {
"content": "Name1",
"inheritedFieldMode": "inherit"
},
"parent": {
"content": null,
"selector":"http://.../rootName/table1?selector=true",
"validation": [
{
"level": "error",
"message": "Field 'Parent' is mandatory."
}
]
}
},
"validation": {
...
}
}
以下も参照してください。: -
-
フィールド関連付けノードまたは選択ノードの場合、
includeDetailsパラメーターがtrueに設定されている場合に限り、関連付けられたレコードを含むターゲットテーブルが含まれます。他の種類のノードの場合、現在のノード値が含まれます。以下も参照してください。: -
ユーザーインターフェイスの状態の取得ユーザーインターフェイスのステータスと使用不可メッセージが含まれます。
{
"content": {
"toolStatus": {
"content": true,
"label": "Open",
"selector": "http://.../domain/toolStatus/toolStatus?selector=true"
},
"toolStatusCloseMessage": {
"content": "Access is temporarily forbidden for maintenance."
}
}
}以下も参照してください。:
注意:
ノード、レコードとフィールド、プロパティと値は、解決された権限 (権限を参照) に応じて非表示になる場合があります。
メタモデル
このセクションは、
includeMetamodel パラメータを使用してオンデマンドでアクティブ化できます。 content セクションの構造と JSON タイプについて説明します。
このセクションは、Select 操作ではデフォルトで無効になっています。
以下も参照してください。:
テーブルの構造
テーブルメタモデルは、次のプロパティを持つ JSON
オブジェクトで表されます。
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
name
|
String
|
モデルで定義されている許可されたテーブルの名前を指定します。
|
はい
|
label
|
String
|
テーブルのラベルを指定します。未定義の場合、スキーマノードの名前が返されます。
|
はい
|
description
|
String
|
テーブルの説明を指定します。
|
いいえ
|
type
|
String
|
ノードのタイプを指定します。値は常に table と等しくなります。
|
はい
|
minOccurs
|
Number
|
許可された最小レコード数を指定します。
|
はい
|
maxOccurs
|
Number または String
|
許可された最大レコード数または unbounded を指定します。
|
はい
|
history
|
Boolean
|
テーブルの内容を履歴化するかどうかを指定します。履歴がアクティブ化されている場合、その値は
true であり、それ以外の場合は false です。
以下も参照してください。:
|
いいえ
|
primaryKeyFields
|
Array
|
パスの配列として表される主キーの構成を指定します。
|
はい
|
inheritance
|
Boolean
|
テーブルのデータセット継承をアクティブにするかどうかを指定します。継承がアクティブになっている場合、その値は
true であり、それ以外の場合は false です。
以下も参照してください。:
|
いいえ
|
fields
|
Array
|
フィールドの配列として表されるレコードノードの直接の子を指定します。各フィールドには、サブフィールドが再帰的に含まれる場合もあります。
|
はい
|
フィールドの構造
許可された各フィールドは、次のプロパティを持つ JSON
オブジェクトで表されます。
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
name
|
String
|
モデルで定義されている許可フィールドの名前を指定します。
|
はい
|
label
|
String
|
ノードのラベルを指定します。未定義の場合、スキーマノードの名前が返されます。
|
はい
|
description
|
String
|
フィールドの説明を指定します。
|
いいえ
|
type
|
String
|
はい
|
|
minOccurs
|
Number
|
許可された最小オカレンスの数を指定します。
|
はい
|
maxOccurs
|
Number または String
|
許可された最大オカレンスまたは unbounded の数を指定します。
|
はい
|
readOnly
|
Boolean
|
フィールドアクセス許可がデータモデルアクセスプロパティから読み取り専用として定義されているかどうかを指定します。つまり、そのデータを読み書きできるかどうかです。フィールドが読み取り専用の場合、その値は
true であり、それ以外の場合は false です。
以下も参照してください。:
|
はい
|
autoIncrement
|
Boolean
|
フィールドを自動インクリメントするかどうかを指定します。このプロパティは、整数フィールドタイプでのみ使用できます。フィールドが自動インクリメントされる場合、その値は
true であり、それ以外の場合は false です。
以下も参照してください。:
|
いいえ
|
checkNullInput
|
Boolean
|
ユーザー入力時に、
null フィールドの制約のチェックをアクティブにするかどうかを指定します。その値は、アクティブ化されている場合は true、それ以外の場合は false です。
フィールドのプロパティ osd:checkNullInput が true に設定されている場合、制約チェックがアクティブになります。
|
はい
|
inheritedField
|
Object
|
継承されたフィールドの値ソースに関連する情報を保持します。
{
以下も参照してください。:
|
いいえ
|
foreignKey
|
Object
|
ターゲットテーブルに関連する情報を保持します。
以下も参照してください。:
|
いいえ (*)
|
association
|
Object
|
関連付けテーブルに関連する情報を保持します。
以下も参照してください。:
|
いいえ (*)
|
enumeration
|
String
|
フィールドが列挙値であるかどうかを指定します。可能な値は次のとおりです。
以下も参照してください。:
その値に従って、 selector 要求パラメーターを使用して可能な値を取得するためにフィールドを使用できるかどうかを示します。
|
いいえ
|
enumerationDependencies
|
JSON オブジェクトの Array
|
メタデータ列挙の依存関係リストを指定します。
externalKey、dynamic、またはprogrammatic の列挙型でのみ使用できます。
以下も参照してください。:
|
いいえ
|
valueFunction
|
Boolean
|
フィールドが計算値であるかどうかを指定します。
以下も参照してください。:
|
いいえ
|
linkedField
|
Object
|
リンクされたフィールドに関連する情報を保持します。
以下も参照してください。:
|
いいえ
|
pathInDataset
|
String
|
スキーマノードから始まる相対フィールドのパスを指定します。
|
いいえ (**)
|
pathInRecord
|
String
|
テーブルノードから始まる相対フィールドのパスを指定します。
|
いいえ (*)
|
filterable
|
Boolean
|
filter リクエストパラメーターを使用してレコードをフィルタリングするためにフィールドを使用できるかどうかを指定します。
|
いいえ (*)
|
hiddenFilterPolicy
|
String
|
非表示のフィルターポリシーを指定します。
可能な値は、
textSearchOnly、true、または false です。
以下も参照してください。:
|
いいえ (*)
|
sortable
|
Boolean
|
sort リクエストパラメーターを使用して、フィールドをソート条件で使用できるかどうかを指定します。
|
いいえ (*)
|
constraints
|
JSON オブジェクトの Array
|
フィールドの非プログラム制約を指定します。
以下も参照してください。:
|
いいえ
|
fields
|
JSON オブジェクトの Array
|
各フィールドグループの構造と入力を保持します。
|
いいえ
|
(*) テーブル、レコード、およびレコードフィールドの操作でのみ使用できます。
(**) データセットツリー操作でのみ使用できます。
外部キーフィールドの構造
外部キーフィールドのメタモデルは、JSON
オブジェクトで表されます。
{
"dataspace": "BAuthors",
"dataset": "Authors",
"tablePath": "/root/Authors",
"details": "http://.../BAuthors/Authors/root/Authors"
}
次のプロパティを保持します。
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
dataspace
|
String
|
ターゲットデータスペースまたはスナップショット識別子を指定します。指定しない場合は、テーブルのデータスペースと同じデータスペースに対応します。
|
いいえ
|
データセット
|
String
|
ターゲットデータセットの識別子を指定します。指定しない場合は、テーブルのデータセットと同じデータセットに対応します。
|
いいえ
|
tablePath
|
String
|
ターゲットテーブルのパスを指定します。
|
はい
|
details
|
String
|
ターゲットテーブルの REST リソース URL を指定します。
以下も参照してください。:
|
いいえ
|
historyDetails
|
String
|
履歴ターゲットテーブルの REST リソース URL を指定します。
以下も参照してください。:
|
いいえ
|
関連付けフィールドの構造
関連フィールドのメタモデルは、JSON
オブジェクトで表されます。このオブジェクトは、関連タイプに依存するプロパティを保持します。
-
tableRefInverse
{
"type": "tableRefInverse",
"dataspace": "BTitles",
"dataset": "Titles",
"tablePath": "/root/Titles",
"details": "http://.../BTitles/Titles/root/Titles",
"fieldToSource": "/root/Titles/au_id",
"filter": "./unit_price > 10"
} -
linkTable
{
"type": "linkTable",
"tablePath": "/root/Inventory",
"details": "http://.../BInventory/Inventory/root/Inventory",
"linkTablePath": "/root/Inventory",
"fieldToSource": "/root/Inventory/store",
"fieldToTarget": "/root/Inventory/item",
"filter": "./price > 10"
} -
xpathLink
{
"type": "xpathLink",
"tablePath": "/root/Inventory",
"details": "http://.../BAuthors/Authors/root/Inventory",
"predicate": "/root/Inventory[./price < 100]",
"filter": "./price > 10"
}
次のプロパティを保持します。
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
type
|
String
|
関連付けタイプを指定します。可能な値は、
tableRefInverse、linkTable、xpathLink です。
以下も参照してください。:
|
はい
|
データスペース
|
String
|
ターゲットデータスペースまたはスナップショット識別子を指定します。指定しない場合は、テーブルのデータスペースと同じデータスペースに対応します。
|
いいえ
|
データセット
|
String
|
ターゲットデータセットの識別子を指定します。指定しない場合は、テーブルのデータセットと同じデータセットに対応します。
|
いいえ
|
tablePath
|
String
|
ターゲットテーブルのパスを指定します。
|
はい
|
details
|
文字列
|
ターゲットテーブルの REST リソース URL を指定します。
以下も参照してください。:
|
いいえ
|
fieldToSource
|
String
|
関連付けのソーステーブルを参照するフィールドを指定します。
関連付けタイプが tableRefInverse または linkTable の場合に定義されます。
|
いいえ
|
fieldToTarget
|
String
|
ターゲットテーブルへのフィールドのパスを指定します。
関連付けタイプが linkTable の場合に定義されます。
|
いいえ
|
linkTablePath
|
String
|
リンクテーブルのパスを指定します。
関連付けタイプが linkTable の場合に定義されます。
|
いいえ
|
predicate
|
文字列
|
現在のノードを基準にして、関連付けの基準を指定します。
関連付けタイプが xpathLink の場合に定義されます。
|
いいえ
|
filter
|
String
|
関連するオブジェクトをフィルタリングするための XPath 述語式を指定します。
|
いいえ
|
リンクされたフィールドの構造
リンクされたフィールドのメタモデルは、JSON
オブジェクトで表されます。
{
"relationshipField": "/au_id",
"tablePath": "/root/Authors",
"linkedFieldPath": "/birth_date",
"details": "http://.../BAuthors/Authors/root/Authors"
}
次のプロパティを保持します。
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
relationshipField
|
String
|
このリンクされたフィールドによって使用される関係を保持するフィールドのパスを指定します。
以下も参照してください。:
|
はい
|
tablePath
|
String
|
このリンクされたフィールドによって参照されるテーブルのパスを指定します。
|
はい
|
linkedFieldPath
|
String
|
このリンクされたフィールドによって参照されるパスを指定します。
以下も参照してください。:
|
はい
|
details
|
URI
|
ターゲットテーブルの REST リソース URL を指定します。
以下も参照してください。:
|
いいえ
|
以下も参照してください。:
列挙依存関係の構造
メタモデル列挙依存オブジェクトは、JSON
オブジェクトで表されます。
{
"localModify": false,
"dataspace": "BAuthors",
"dataset": "Authors",
"targetPath": "/root/Authors",
"details": "http://.../BAuthors/Authors/root/Authors"
}
次のプロパティを保持します。
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
localModify
|
Boolean
|
列挙依存フィールドが、同じレコード内のフィールドに対して実行された変更によって影響を受けるかどうかを指定します。
|
はい
|
データスペース
|
文字列
|
列挙型依存関係のターゲットデータスペースまたはスナップショット識別子を指定します。指定しない場合は、レコードのデータスペースと同じデータスペースに対応します。
|
いいえ
|
データセット
|
String
|
列挙型依存関係のターゲットデータセットの識別子を指定します。指定しない場合は、レコードのデータセットと同じデータセットに対応します。
|
いいえ
|
targetPath
|
String
|
列挙型依存関係のターゲットパスを指定します。
|
はい
|
details
|
String
|
列挙型依存関係のターゲット REST リソーステーブル URL を指定します。
以下も参照してください。:
|
いいえ
|
並べ替え基準
リクエストに適用される並べ替え基準は、
includeSortCriteria パラメーター (デフォルトでは非アクティブ化) を使用して、オンデマンドで返すことができます。有効にすると、 sortCriteria プロパティが応答ルートノードに直接追加されます。
sortCriteria プロパティは、順序付けられた並べ替え基準を含む JSON Array として表されます。各並べ替え基準は、次のプロパティを持つ JSON オブジェクトに対応しています。
| JSON プロパティ | JSON 形式 | 説明 | 必須 |
|---|---|---|---|
path |
String |
フィールドのパス。 | はい |
order |
String |
可能な値は、 asc、 lasc、 desc、または ldesc です。 |
はい |
sortByRelevancy プロパティは JSON Array で表され、それ自体が次のプロパティを持つ JSON オブジェクトを保持します。
| JSON プロパティ | JSON 形式 | 説明 | 必須 |
|---|---|---|---|
order |
String |
並べ替えを昇順で行うか降順で行うかを定義します。可能な値は、 lasc または ldesc です。 詳細については、 sortByRelevancy を参照してください。 |
はい |
検証レポート
検証は、
includeValidation パラメーターを使用してオンデマンドでアクティブ化できます (デフォルトでは非アクティブ化されています)。有効にすると、 validation プロパティが 1 つまたは複数のメッセージとともにターゲットノードに直接追加されます。ターゲットノードのパスがないメッセージの場合、 validation プロパティがルートノードに追加されます。
validation プロパティは JSON Array で表され、メッセージごとに JSON オブジェクトを保持し、検証項目に対応し、次のプロパティを持ちます。
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
level
|
String
|
検証項目の重大度。可能な値は、 info、warn、error、fatal です。
|
はい
|
message
|
String
|
検証項目の説明。
|
はい
|
details
|
String
絶対 URL に対応します。
|
検証項目に関連付けられているリソースの URL。
関連するリソースが存在し、それが含まれている場合、テーブルスコープとデータセットスコープでのみ使用できます。
以下も参照してください。:
|
いいえ
|
制約
このセクションは、ノードに読み取り/書き込み権限がある場合に自動的にアクティブになります。これは、データモデルで宣言された非プログラム的な制約を提供します。
constraints プロパティは、JSON Array で表されます。すべての制約は、JSON オブジェクトの形式を取ります。それらには次のプロパティがあります。
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
type
|
String
|
制約のタイプを指定します。
以下も参照してください。:
|
はい
|
level
|
String
|
制約の重大度レベルを指定します。可能な値は、 fatal、error、warning、またはinfo です。
|
はい
|
content
|
Object
|
非プログラム制約の値を指定します。この値は、 String や JSON オブジェクトなどの単純なタイプにすることができます。
|
いいえ
|
min
|
Integer
|
excludeSegment 制約タイプの最小値を指定します。
|
いいえ
|
max
|
Integer
|
excludeSegment 制約タイプの最大値を指定します。
|
いいえ
|
message
|
String
|
フィールドの値が制約に準拠していない場合に返される検証メッセージを指定します。
|
はい
|
blocksCommit
|
String
|
ブロッキングまたは非ブロッキング制約の制御ポリシー管理を指定します。
詳細については、ブロッキングと非ブロッキングの制約を参照してください。
|
いいえ
|
制約タイプ
このセクションでは、プログラム以外の制約タイプをリストします。
| タイプ | 説明 |
|---|---|
mandatory |
フィールドが必須であることを定義します。 |
fixedLengthStatic |
このフィールドに必要な正確な文字数を定義します。 |
fixedLengthDynamic |
これに必要な正確な文字数を提供するフィールドを指定します。 |
minLengthStatic |
このフィールドに許可される最小文字数を定義します。 |
minLengthDynamic |
これに許可される最小文字数を提供するフィールドを指定します。 |
maxLengthStatic |
このフィールドに許可される最大文字数を定義します。 |
maxLengthDynamic |
このフィールドに許可される最大文字数を提供するフィールドを指定します。 |
excludeSegment |
このフィールドに許可されていない値の包括的範囲を定義します。 |
excludeValue |
このフィールドに許可されていない値のリストを定義します。 |
fractionDigits |
このフィールドに許可される小数点以下の最大数を定義します。 |
pattern |
フィールドの値と一致する必要がある正規表現パターンを定義します。 |
totalDigits |
この整数または 10 進数フィールドに許可される最大桁数を定義します。 |
boundaryMinInclusiveStatic |
このフィールドに許可される最小値 (最小値を含む) を定義します。 |
boundaryMinExclusiveStatic |
このフィールドに許可される最小値 (最小値を除く) を定義します。 |
boundaryMinInclusiveDynamic |
このフィールドに許可される最小値 (最小値を含む) を提供するフィールドを定義します。 |
boundaryMinExclusiveDynamic |
このフィールドに許可される最小値 (最小値を除く) を提供するフィールドを定義します。 |
boundaryMaxInclusiveStatic |
このフィールドに許可される最大値 (最大値を含む) を定義します。 |
boundaryMaxExclusiveStatic |
このフィールドに許可される最大値 (最大値を除く) を定義します。 |
boundaryMaxInclusiveDynamic |
このフィールドに許可される最大値 (最大値を含む) を提供するフィールドを定義します。 |
boundaryMaxExclusiveDynamic |
このフィールドに許可される最大値 (最大値を除く) を提供するフィールドを定義します。 |
以下も参照してください。:
コンテンツ
このセクションは、
includeContent パラメーター (デフォルトでアクティブ化) を使用して、オンデマンドで非アクティブ化できます。これは、許可されたユーザーのレコード値、データセット、またはコンテンツフィールドの 1 つのフィールドのコンテンツを提供します。また、ラベル、技術情報、URL などの追加情報もあります。
コンテンツは、サブノードごとにプロパティが設定された JSON
オブジェクトで表されます。
ノード値
|
JSON プロパティ
|
JSON 形式
|
説明
|
必須
|
|---|---|---|---|
|
|
ノード値が含まれます。 関連付けと選択を除くすべてのノードで使用できます。ただし、コンテンツは、details プロパティで提供される URL を呼び出すことで取得できます。
|
いいえ
|
|
details
|
String
絶対 REST リソース URL に対応します。
|
呼び出されたときにノードの詳細を返します。
応答タイプはメタタイプによって異なります。
例
http://.../BReference/dataset/root/table/pk/associationField
|
いいえ
|
historyDetails
|
String
絶対 REST リソース URL に対応します。
|
呼び出されたときにノード履歴の詳細を返します。
以下も参照してください。:
|
いいえ
|
label
|
文字列
|
現在のロケールの外部キーまたは列挙ラベルが含まれます。
現在のロケールがサポートされていない場合は、デフォルトのラベルが返されます。
|
いいえ
|
inheritanceMode
|
文字列
|
データセットの継承のみを考慮した、ノードの継承状態が含まれます。
inheritedFieldMode プロパティと inheritanceMode プロパティの両方を同じノードで定義することはできません。
以下も参照してください。:
|
いいえ
|
inheritedFieldMode
|
String
|
データセットとフィールドの継承を考慮した、ノードのフィールドの継承状態が含まれます。両方の継承が使用される場合、フィールドの継承はデータセットの継承よりも優先されます。
inheritedFieldMode プロパティと inheritanceMode プロパティの両方を同じノードで定義することはできません。
|
いいえ
|
selector
|
String
絶対 URL に対応します。
|
selector 操作に適切な URL が含まれています。
例
http://.../BReference/dataset/root/table/pk/enumField?selector=true
|
いいえ
|
validation
|
Array
|
現在のノードコンテキストに関係する検証レポートが含まれています。
以下も参照してください。:
|
いいえ
|
単純型のコンテンツ
グループとリストのコンテンツ
|
XML スキーマ
|
JSON 形式
|
例
|
メタタイプ
|
|---|---|---|---|
|
Group
xs:complexType
|
オブジェクト
サブノードごとのプロパティが含まれます。
|
単純オカレンスグループの例。
{ |
グループ
|
|
List
maxOccurs > 1
|
Array
JSON
オブジェクトで表されるすべてのフィールドオカレンスの配列が含まれます。
各オブジェクトは、ノード値として表されます。
|
xs:int タイプの複数オカレンスフィールドの例。
[
複数オカレンスグループの例。
[ |
または
グループ
|
セレクター
列挙型を提供するフィールドで
selector プロパティで表される URL を呼び出すと、次のプロパティを含むJSON オブジェクトが返されます。
-
JSON
オブジェクトのArrayに対応するrows。各行には返されるcontent(永続化可能) と対応するlabelの 2 つのエントリが含まれています。確立された可能な項目のリストは、現在のコンテキストによって異なります。 -
(オプション)
paginationデータを含む pagination (デフォルトでアクティブ化)。
{
"rows": [
{
"content": "F",
"label": "feminine"
},
{
"content": "M",
"label": "masculine"
}
],
"pagination": {
"nextPage": null
}
}
以下も参照してください。: