2014-11-04 4 views
1

Входнойссылка в JSon схеме

{ 
    "createResponse": { 
     "backResponse": { 
      "status": { 
       "code": "000", 
       "message": "success" 
      } 
     } 
    } 
} 

или

{ 
    "updateResponse": { 
     "backResponse": { 
      "status": { 
       "code": "000", 
       "message": "success" 
      } 
     } 
    } 
} 

это моя JSON схема:

{ 
    "properties": { 
     "backResponse": { 
      "type": "object", 
      "additionalProperties": false, 
      "properties": { 
       "status": { 
        "type": "object", 
        "required": false, 
        "properties": { 
         "code": { 
          "type": "string", 
          "required": false 
         }, 
         "message": { 
          "type": "string", 
          "required": false 
         } 
        } 
       } 
      } 
     } 
    }, 
    "anyOf": [{ 
     "additionalProperties": false, 
     "properties": { 
      "createResponse": { 
       "type": "object", 
       "properties": { 
        "$ref": "#/properties/backResponse" 
       } 
      } 
     } 
    }, { 
     "additionalProperties": false, 
     "properties": { 
      "updateResponse": { 
       "type": "object", 
       "properties": { 
        "$ref": "#/properties/backResponse" 
       } 
      } 
     } 
    }] 
} 

получаю ошибку с этим в DataPower, как Неожиданное значение для свойства «$ исх. Ожидаемый тип значения: «объект». Got: '"#/properties/backResponse" ...'.

Что плохого я делаю

ответ

0

Если вы просто хотите применять updateResponse имеет тип backResponse вы можете ссылаться на него, как это:

"createResponse" : {"$ref" : "#/properties/backResponse"} 

JSON Reference resolution is added to DataPower firmware from version 6.0.1. Вы также должны проверить свою версию.

Наконец, я должен предупредить, что вы используете Json-Schema Draft3. Требуется массив в Draft4.