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

swagger@apimodelproperty列表属性的示例值

潘佐
2023-03-14

我有一个类,其中有一个属性,即list

public class MyClass {
    ....
    @ApiModelProperty(position = 2)
    private List<String> productIdentifiers;
    ....
}

此代码生成的示例值如下所示:

{
  "customerId": "1001",
  "productIdentifiers": [
    "string"
  ],
  "statuses": [
    "NEW"
  ]
}
{
  "customerId": "1001",
  "productIdentifiers": [
    "PRD1",
    "PRD2",
    "PRD3"
  ],
  "statuses": [
    "NEW"
  ]
}
@ApiModelProperty(position = 2, example = "PRD1, PRD2, PRD3")
// This generates -> "productIdentifiers": "PRD1, PRD2, PRD3" // Its not json array

@ApiModelProperty(position = 2, example = "[\"PRD1\", \"PRD2\", \"PRD3\"]")
// This generates -> "productIdentifiers": "[\"PRD1\", \"PRD2\", \"PRD3\"]" // Its too not json array
@ApiModelProperty(position = 2, dataType="List", example = "PRD1, PRD2, PRD3")
private List<String> productIdentifiers;
//This generates -> `"productIdentifiers": "PRD1, PRD2, PRD3"`
@ApiModelProperty(position = 2, dataType="java.util.List<String>", example = "PRD1, PRD2, PRD3")
// This generates -> "productIdentifiers": "PRD1, PRD2, PRD3"


@ApiModelProperty(position = 2, dataType="String[]", example = "PRD1, PRD2, PRD3")
// This generates -> "productIdentifiers": "PRD1, PRD2, PRD3"

我对swagger jar的maven依赖是:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.5.0</version>
    <exclusions>
        <exclusion>
            <artifactId>mapstruct</artifactId>
            <groupId>org.mapstruct</groupId>
        </exclusion>
    </exclusions>
</dependency>

更新此问题的github票据

共有1个答案

刘安志
2023-03-14

尝试初始化@apimodelproperty,如下所示:

public class MyClass {
    ....
    @ApiModelProperty(
        position = 2, datatype="List", example = "PRD1, PRD2, PRD3"
    )
    private List<String> productIdentifiers;
    ....
}
 类似资料:
  • 我使用SpringFox和Swagger UI编写API文档 我有一个DTO,其中有一个类型为Long的属性。它99%的时间都没有被填充,因此我想通过将属性值设置为来在文档中演示这一事实。因此,我希望在示例部分使用JSON 我已经试过了 但我得到了一个警告:“属性值必须是常量”。我还能做什么?

  • 我在Pojo中的字段上使用Swagger@apimodelproperty,并使用SpringFox自动生成文档。下面是一个POJO示例: 我有一个接受Pojo的endpoint,这个endpoint可以是/endpoint。此终结点上同时有PUT和POST动词。有没有一种方法可以用Swagger注释或SpringFox Docket配置来表示,在post上隐藏字段'id'而不是文档,但在PUTs

  • 因此,我对正在构建的文档中的Springfox Swagger有这个问题。我使用的是3.0.0版本。我有一个类似这样的类 但是,当我在我的Spring启动应用程序的swagger用户界面中查看模式模型页面时,参数b的值没有显示出来。我不能将描述放在MyObj中,因为这是一个通用类,用于多个实例,并且描述会根据使用而变化。 编辑:任何灵长类类型(如string或int)的描述都可以很好地工作,只要使

  • 我用swagger,OpenAPI版本3为web API编写文档。我使用swagger php包从注释生成文档化的json。我有一个服务,在那里我发送post请求以添加新用户,请求的主体是json(因此参数作为json对象发送)。它有两个参数-电子邮件和密码。请求正文看起来像 这是大摇大摆的 YAML 这里是包含请求参数的参考模式(< code >/components/schemas/sign

  • 我正在使用Swagger来记录REST API。 我正在上这样的课: 我目前正在使用@Api的含义参数设置dataType为Source.class,但我有多个POST请求,将JSON作为主体参数,比方说,其中的一个变量,例如: 由于前面设置了dataType,Swagger UI显示的示例值是一个完整的Source。类,类似于: 我能以某种方式为这些请求的每个请求切掉Swagger UI显示的示

  • 我正在使用Swagger OpenAPI规范工具,我在其中一个定义中有一个字符串数组属性,如下所示: 我的API生成JSON结果,因此对于上述对象,以下结果出现在响应中: 尝试逗号分隔字符串,如下所示: 预期结果为: 但是编辑器显示错误。"缩进错误" 我想给示例标签赋予多个值,有什么办法吗? 更新 下面的用户Helen给出了正确答案,我有缩进问题,因此有嵌套数组(2d数组) 正确方式: 我的方式(