json模式中的引用

json模式中的引用,json,jsonschema,ibm-datapower,Json,Jsonschema,Ibm Datapower,输入 或 这是我的json模式: { "updateResponse": { "backResponse": { "status": { "code": "000", "message": "success" } } } } 在datapower中将此错误作为属性“$ref”的意外值获取。预期值类型:“对象”。获取:“#/propert

输入

这是我的json模式:

{
    "updateResponse": {
        "backResponse": {
            "status": {
                "code": "000",
                "message": "success"
            }
        }
    }
}
在datapower中将此错误作为属性“$ref”的意外值获取。预期值类型:“对象”。获取:“#/properties/backResponse”…”


如果您只想强制更新响应的类型为backResponse,您可以这样引用它:

{
    "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"
                }
            }
        }
    }]
}
。您还应该检查您的版本

最后,我必须警告您正在使用Json模式Draft3。必需的需要Draft4中的数组

{
    "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"
                }
            }
        }
    }]
}
"createResponse" : {"$ref" : "#/properties/backResponse"}