2

ユーザーのリストを定義する次の JSON スキーマを使用しています。スキーマを使用して、一度に複数のユーザーを登録します。

JSON 内の各オブジェクトに登録用のプロパティが少なくとも 1 つ含まれるように指定する方法があるかどうか知りたいですか?

ここに私のスキーマがあります:

{
   "description":"Schema definition for the request to register",
   "type":"object",
   "properties":{
      "registerRequests":{
         "type":"array",
         "items":{
            "type":"object",
            "properties":{
               "user":{
                  "type":"object",
                  "properties":{
                     "age":{
                        "type":"integer",
                        "optional":true,
                        "minimum":1950,
                        "maximum":2100
                     },
                     "name":{
                        "type":"object",
                        "properties":{
                           "code":{
                              "type":"string",
                              "pattern":"^[\\w\\s!@#\\$%&\\-\\+=;:'\",\\.\\?\\(\\)\\\\/]{1,500}$"
                           },
                           "Desc":{
                              "type":"string",
                              "pattern":"^[\\w\\s!@#\\$%&\\-\\+=;:'\",\\.\\?\\(\\)\\\\/]{1,500}$"
                           }
                        },
                        "optional":true
                     }
                 }
               }
            }
         }
      }
   },
   "additionalProperties":false
}

2 人のユーザーを登録するための入力要求:

{
   "registerRequests": [
     {
           "user": {
               "age": "25",
               "Desc": "Test"
           }
       },

       {
           "user": {
               "age": "20"
        }
     }
   ]
}

ここでは 2 つのユーザーの情報を送信しており、各ユーザー オブジェクト リクエストには少なくとも 1 つのプロパティが含まれています。プロパティを持たない 3 番目のオブジェクトを追加する場合、JSON 自体でリクエストを制限し、各ユーザー オブジェクトに少なくとも 1 つのフィールドが必要であることを示します。pattern または optional に似た属性を探しています。

4

1 に答える 1

0

OK、これに対するかなり遅い回答ですが...

ドラフト v3 まで、いいえ。

ドラフト v4 (近日公開予定) では、はい: "minProperties": 1.

于 2013-01-09T11:43:41.310 に答える