Json Schema 引用重复文件,而不是使用传递的文件作为引用

问题描述 投票:0回答:1

我开始在我正在从事的项目之一(org.jsonschema2pojo)中使用 JSON Schema to java pojo。我已经成功地在另一个模式中引用了一个模式,我可以看到那里有相同的信息。但是,我使用引用而不是引用原始 pojo 的 json 模式会创建一个具有完全相同信息的新文件。示例:

Json 架构 A:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema#",
  "$id": "https://example.com/schemas/A",
  "description": "Some Json Schema",
  "type": "object",
  "properties": {
    "genericInfo": {
      "type": "string",
      "description": "Some generic info"
    }
  }
  "required": ["genericInfo"]
}

Json 架构 B :

{
  "$schema": "https://json-schema.org/draft/2020-12/schema#",
  "$id": "https://example.com/schemas/B",
  "description": "Some Json Schema B",
  "type": "object",
  "properties": {
    "referenceToA": {
      "$ref": "../jsonSchemaA.json"
     }
   }
}

我的 B 的 POJO 具有 A 的信息,但它没有引用相同的文件,而是创建了一个具有相同名称 + 信息的新文件。有办法阻止这种情况发生吗?这是一个已知的问题?由于我需要引用它们之间的模式,但在其中很多中使用通用的 pojo,如果我无法解决这个问题,我需要始终将其转换为原始模式。

提前致谢

java jsonschema jsonschema2pojo
1个回答
0
投票

您正在创建一个新的对象模式,其中包含引用。如果您只想引用

A
模式,则无需再次定义
properties

模式B

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://example.com/schemas/B",
  "description": "Some Json Schema B",
  "$ref": "../jsonSchemaA.json"
}

© www.soinside.com 2019 - 2024. All rights reserved.