ссылка в схеме json

Вход

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

or

{
    "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" ...'.

Что я делаю не так


person mnvbrtn    schedule 04.11.2014    source источник


Ответы (1)


Если вы просто хотите, чтобы updateResponse имел тип backResponse, вы можете ссылаться на него следующим образом:

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

Эталонное разрешение JSON добавлено в прошивку DataPower начиная с версии 6.0.1 . Вы также должны проверить свою версию.

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

person jruizaranguren    schedule 04.11.2014