定义中对 # 的引用不会分析 inJson.net 架构



我有一个模式,它有一个'manager'属性,它是一个用户对象:

{
  "id": "foo.com/schemas/user",
  "manager": {
    "anyOf": [{
      "$ref": "#/definitions/user"
    }],
    "title": "Manager"
}

#/definitions/user schema 是:

"definitions": {
  "user": {
    "$ref": "#"
  }
}

这会导致"解析架构引用'#'时出错。路径"定义.用户"错误。

使用管理器属性中的"$ref":"#"来寻址用户不是一个选项,因为我们使用该定义来帮助构建 UI,并且需要一个通用定义。

编辑:添加了"id"属性,这是其中的关键遗漏。

这有效:

{
  "id": "http://foo.com/schemas/user",  
  "properties":{  
    "manager":{  
      "anyOf":[  
        {  
          "$ref":"#/definitions/user"
        }
      ],
      "title":"Manager"
    }
  },
  "definitions":{  
    "user":{  
      "$ref":"#"
    }
  }
}

https://github.com/JamesNK/Newtonsoft.Json.Schema/issues/33

编辑:添加了固定的"id"字段,并添加了 http://资格。

相关内容

  • 没有找到相关文章

最新更新