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

如何使用Jackson HyperSchema生成模式链接引用

赫连鸿振
2023-03-14

根据http://json-schema.org/和jsonSchema中提供的示例,json shema使用的格式包括链接

{
  "name":"Product",
  "properties":{
    "id":{
      "type":"number",
      "description":"Product identifier",
      "required":true
    },
    "name":{
      "description":"Name of the product",
      "type":"string",
      "required":true
    },
    "price":{
      "required":true,
      "type": "number",
      "minimum":0,
      "required":true
    },
    "tags":{
      "type":"array",
      "items":{
        "type":"string"
      }
    }
  },
  "links":[
    {
      "rel":"full",
      "href":"{id}"
    },
    {
      "rel":"comments",
      "href":"comments/?id={id}"
    }
  ]
}

但是我找不到一种方法把它添加到生成的,schema,虽然有一个HyperSchema对象,这似乎是我需要的,但是我找不到如何使用它。

共有1个答案

司马昕
2023-03-14

在json-schema项目中出了一个问题,并在一个表单中提出了一个基于注释的支持HyperSchema的拉请求

https://github.com/fasterxml/jackson-module-jsonschema/issues/35

public class Pet {
    public String genus;
}

@JsonHyperSchema(pathStart = "/persons/", links = {
    @Link(href = "{name}", rel = "self"),
    @Link(href = "{name}/pet", rel = "pet", targetSchema = Pet.class)
})
public class Person {
    public String name;
    public String hat;
}

更改在https://github.com/clemble/jackson-module-jsonschema中

 类似资料:
  • 有没有办法从Apache spark生成无模式的avro?我可以看到一种使用apache avro库通过Java/Scala和融合avro生成它的方法。当我用下面的方式从Spark编写Avro时,它用模式创建了Avro。我想在没有模式的情况下创建,以减少最终数据集的大小。

  • 我正在尝试使用引导模式http://twitter.github.com/bootstrap/javascript.html#modals在rails链接上,在模式中打开该链接 但不知何故,它不起作用。标准切换代码为- 但我不知道如何将其应用于rails中的链接,有什么帮助吗? 谢谢

  • 我将hibernate 4.2.12与oracle 11g一起使用,我需要告诉hibernate不要在生成的sql中附加任何模式前缀。因此,我从实体中删除@Entity注释中的任何模式引用。但是,hibernate工具尝试使用SCHEMA.TABLE\u名称验证我的表。为了强制hibernate不使用模式前缀,我在persistence.xml中将属性“hibernate.default_sche

  • 我正试着把a类扩展成AX类。所以,我也扩展了abuilder。但是,虽然我能够使用以下方法创建类a的对象: 同样的方法对AX不起作用。当我尝试这样做时:

  • 问题内容: 我的HTML代码的摘录。 单击链接时蜂鸣器打开的模态: 是否有正确的方法将我的ID传递给模式? 问题答案: 传递,从数据库获取记录以进行传递并以模式显示的简单解决方案是; 简单的解决方案 模态通话按钮 模态HTML 将以下模式HTML放在上述调用按钮所在的页面内(最好在页面底部) 现在创建一个PHP文件并命名 通过模式调用按钮调用该文件 要删除模式中的数据或换句话说在打开下一个记录而不

  • 我使用aws cdk设置了我的AppSync api,但没有使用他们的amplify框架。我正在试图弄清楚如何/是否可以从我的AppSync文件,但不使用amplify,即无法访问命令。我确实尝试过安装和运行它,但我假设amplify希望文件位于某些目录中,因此失败了。 我调查https://graphql-code-generator.com但由于AppSync使用的特殊类型(如)无法工作,解决