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

Swagger@Schema与Groovy:如何生成数组类型?

袁亦
2023-03-14

嗨,我正在使用Core Swagger从Groovy类生成Swagger YML文件,但正在努力查看Groovy中的哪种类型会生成数组数据类型:[https://swagger.io/docs/specification/data-models/data-types/#array][1]

我的Groovy类如下:

       import io.swagger.v3.oas.annotations.media.Schema

       @Schema
    class simpleClass{
        String[] strArray3 = new String[3];
        def mixed =   ["foo", 5, -2, "bar"]
        def names = ["lucas", "Fred", "Mary"]
        String[] strArray= ["lucas", "Fred", "Mary"]
        Integer[] intArray= new Integer[3];
    }

但当我格雷德尔制造出一个大摇大摆的样子。yml没有数组类型:

    components:
      schemas:
        Object:
          type: object
        $simpleClass:
          type: object
          properties:
            strArray3:
              type: string
            mixed:
              $ref: '#/components/schemas/Object'
            names:
              $ref: '#/components/schemas/Object'
            strArray:
              type: string
            intArray:
              type: integer
              format: int32

共有1个答案

屠兴旺
2023-03-14

抱歉回答了我自己的问题。

我在我的Groovy类中找到了一个解决方案来声明数组,如下所示,希望它对某人有用。谢谢。

 ArrayList<String> names = new ArrayList<String>();
 类似资料:
  • 我有使用Swagger V1.2的服务的Swagger API声明。 我对Swagger最初的感觉是,它非常接近JSON模式(草案3和最近的草案4),为请求和响应对象生成JSON模式相对容易。 问:有没有任何现有的项目或代码可以从Swagger API声明生成可用的JSON模式? 最好是JSON Schema Draft 4和使用Python(但我很乐意找到任何东西)。

  • 我使用的是Fast erxml json框架2.2.0版,以便在我正在开发的应用程序的API的json中创建模式。 我的API类似于:https://gist.github.com/nemo83/5555249 客户和订单都引用了地址。现在,当我尝试生成架构(https://github.com/FasterXML/jackson-module-jsonSchema)时,结果是: {"type":

  • 如果我想从中创建一个(即),有没有一种方法可以在不创建的情况下实现它?我很容易做到: 但是,当我想要的只是架构时,实际创建似乎有些过头了。 (如果您很好奇,问题背后的原因是我正在定义一个,为此,您要覆盖几个返回的方法,并且我用例类。)

  • 可以从你的映射文件使用一个 Hibernate 工具生成 DDL。生成的 schema 包含有对实体和集合类表的完整性引用约束(主键和外键)。涉及到的标示符生成器所需的表和 sequence 也会同时生成。 在使用这个工具的时候,你必须 通过 hibernate.dialet 属性指定一个 SQL方言(Dialet),因为 DDL 是与供应商高度相关的。 首先,要定制你的映射文件,来改善生成的 s

  • 问题内容: 我有的: 我正在从pojo生成JSON模式。我的生成架构的代码如下所示: 我通过上面的代码生成了几个模式。其中一个pojos具有内部嵌入式枚举,以限制可能的值,如下所示: 上面的代码应将传递给“星期一”,“星期二”,“星期三”等的JSON数据中可能的String值限制。 当我在有问题的代码上运行模式生成器时,我希望得到类似以下模式的内容: 但是相反,我得到这个: 我在Jackson模式

  • OpenAPI3.0规范规定,没有任何类型的模式将匹配任何数据类型。 没有类型的模式匹配任何数据类型--数字、字符串、对象等等。 因此,对此进行建模的正确方法是下面的Swagger定义,其中没有属性: 但是,每个开放问题Swagger-core#3834,Java值都映射到OpenAPI类型,而不是任意类型。如上所述,这意味着这样的API返回或接受不是OpenAPI的类型是不正确的,例如、、等。