Ссылка в схеме 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 как неожиданное значение для свойства '$ref'. Ожидаемый тип значения: "объект". Получил: '"#/properties/backResponse" ...'.
Что я не так делаю
1 ответ
Решение
Если вы просто хотите принудительно установить updateResponse типа backResponse, вы можете ссылаться на него следующим образом:
"createResponse" : {"$ref" : "#/properties/backResponse"}
Разрешение JSON Reference добавлено в прошивку DataPower с версии 6.0.1. Вы должны также проверить свою версию.
Наконец, я должен предупредить, что вы используете Json-Schema Draft3. Требуется массив в Draft4.