JSON模式 - 外键(FK)验证

时间:2015-12-30 03:50:30

标签: json jsonschema json-schema-validator

我有以下JSON模式:

架构A:



{
  "$schema": "http://json-schema.org/draft-04/hyper-schema#",
  "title": "A",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    },
    "entityBId": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "entityBId"
  ],
  "links": [
    {
      "rel": "B",
      "href": "myapi/EntityB?id={entityBId}"
    }
  ]
}




架构B



{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "B",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "name"
  ]
}




我试图弄清楚是否有办法运行基于带有外部链接/引用的JSON模式的完整性检查。 例如:当我收到带有 entityBId = 1的对象A时,我想获取在链接href中声明的端点中运行GET的此实体B,并检查是否存在来自收到的id的有效对象。 它将像深度验证一样运行,并且在没有定义DB模式的场景中非常有用。

1 个答案:

答案 0 :(得分:0)

根据Raj Kamal的建议,我做了自己的"链接验证"。 有一个函数在模式上查找链接属性并直接在数据库上验证外部引用,如果找不到有效的引用则抛出异常。