Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerDesign Center は、JSON スキーマの Draft 3 と Draft 4 をサポートします。項目を required (必須) として指定する方法は、Draft 3 と Draft 4 では異なります。API 仕様で間違ったドラフトの宣言を混同して使用するとエラーとなります。
Draft 3 では、次のように各項目の定義中で required と指定します。
{
"$schema": "http://json-schema.org/draft-03/schema#",
"type": "object",
"properties": {
"pageNum": {
"type": "integer",
"title": "Page number",
"description": "...",
"default": 1,
"required": true
},
"pageSize": {
"type": "integer",
"title": "Page size",
"description": "...",
"required": true,
"default": 50,
"enum": [
10,
20,
30,
40,
50
]
}
...
Draft 4 では、次のように項目の定義と同じレベルで配列を作成することによって required と指定します。
{
"$schema": "http://json-schema.org/draft-4/schema#",
"type": "object",
"properties": {
"pageNum": {
"type": "integer",
"title": "Page number",
"description": "...",
"default": 1
},
"pageSize": {
"type": "integer",
"title": "Page size",
"description": "...",
"default": 50,
"enum": [
10,
20,
30,
40,
50
]
},
"required": [
"pageNum",
"pageSize"
]
},
...
Draft 4 の方法の別の例です。
{
"$schema": "http://json-schema.org/draft-4/schema#",
"type": "object",
"properties": {
"address": {
"type": "object",
"properties": {
"streetAddress": {
"type": "string"
},
"city": {
"type": "string"
},
"required": [
"streetAddress",
"city"
]
},
"phoneNumber": {
...
スキーマで Draft 4 を使用すると宣言した後で Draft 3 の方法を使用した場合 (またはその逆の場合) には、単純にスキーマの宣言を変更するだけで通常は問題が解決します。たとえば、スキーマで Draft 3 を使用すると宣言してから Draft 4 の方法を使用してしまった場合は、スキーマの宣言を Draft 4 を参照するように変更します。