当前位置: 首页 > 知识库问答 >
问题:

用fasterxml 2.2.0生成json schema如何引用类型?

戈睿识
2023-03-14

我使用的是Fast erxml json框架2.2.0版,以便在我正在开发的应用程序的API的json中创建模式。

我的API类似于:https://gist.github.com/nemo83/5555249

客户和订单都引用了地址。现在,当我尝试生成架构(https://github.com/FasterXML/jackson-module-jsonSchema)时,结果是:

{"type":"object "," properties ":{ " type ":" object "," properties ":{ " address line 2 ":{ " type ":" string " }," address line 1 ":{ " type ":" string " } }," customer":{"type":"object "," properties ":{ " address ":{ " type ":" object "," properties ":{ " properties ":{ " type ":" object "," properties ":{ " address line 2 ":{ " type ":" string " }," address line 1 ":{ " type ":" string " } } }," name

正如您所看到的,地址没有被表示为一个类型,但是客户和订单都在它们的描述中将它扁平化了。

有没有办法指示Fast erxml模式生成来解决这个问题并利用“$ref”属性正确引用Address对象?

共有1个答案

呼延高超
2023-03-14

您可以升级到杰克逊模块jsonSchema 4.1版本,他们已经解决了这个问题,并且还启用了自引用类架构生成。

 类似资料:
  • 在我的项目中,有两个和一些: 我得到的结果和错误如下: 生成的如下: 我认为和没有正确生成,因为它们是字符串类型,没有引号。 我不知道为什么它会以这种方式产生。请告诉我如何解决这个问题。

  • 我正在编写一个通用组件,该组件封装了一个生成器并执行常规操作: 按键筛选 转换值 等等 为了尽可能接近地模拟包装生成器,如果生成器使用引用,我想使用引用。 当我尝试使用 构造的情况下迭代生成器对引用完全不起作用:

  • 我正在编写一个通用组件,该组件封装了一个生成器并执行常规操作: 按键筛选 转换值 等等 为了尽可能接近地模拟包装生成器,如果生成器使用引用,我想使用引用。 当我尝试使用 构造的情况下迭代生成器对引用完全不起作用:

  • 根据http://json-schema.org/和jsonSchema中提供的示例,json shema使用的格式包括链接 但是我找不到一种方法把它添加到生成的,schema,虽然有一个HyperSchema对象,这似乎是我需要的,但是我找不到如何使用它。

  • JsonSchema.net是一个从JSON数据自动生成JSON Schema的工具. 模式生成根据 IETF JSON Schema Internet Draft. 草案规范, 此工具包括5个主要功能: 接受JSON输入,并根据此输入生成秒速此JSON输入的JSON Schema Provides a GUI to modify the schema generated with useful

  • 我有以下说明。yaml文件: 和/路径/员工。亚马尔 当我从 /paths/employees.yaml复制代码并粘贴到employee.yaml路径时,一切都会正确生成。我不认为这是文件路径的问题employees.yaml.有人有类似的问题吗? 也许我还没有发现其他的限制?