【问题标题】:How to give multiple example values for same object using swagger如何使用 swagger 为同一对象提供多个示例值
【发布时间】:2020-02-12 23:54:19
【问题描述】:

我创建了一个模型类(产品),它包含两个字段名称和值。 我想为产品模型提供招摇的默认值。我能够在 @ApiModelProperty 注释的帮助下做到这一点,并且工作正常。 但我的实际要求是为同一个对象提供多个值,就像这样

{
  "products": [
    {
      "name": "X",
      "value": "100"
    },
    {
      "name": "Y",
      "value": "100"
    },
    {
      "name": "Z",
      "value": "100"
    },
    {
      "name": "A",
      "value": "01"
    }
  ]
} 

我正在尝试为 HTTP POST 请求创建此默认模型,如何使用 swagger2 和 springboot 实现此目标

【问题讨论】:

  • ArrayList 的调用值!
  • @sovannarithcheav 是列表

标签: java spring-boot swagger swagger-ui swagger-2.0


【解决方案1】:

你应该用datatype="List"标记文件

public class MyClass {
....
@ApiModelProperty(datatype="List", example = "'['{'name': 'X','value': '100'}']")
private List< Product> products;
....
}

编辑

public class MyClass {
....
@ApiModelProperty(value = "{\n'name':'X',\n'value':'100'\n},\n{\n'name':'Y',\n'value':'100'\n}")
private List< Product> products;
....
}

【讨论】:

  • 我已经尝试了上面给定的代码,我将作为单个字符串输出。它看起来不像请求正文,如果我有更多对象,将很难理解我们给出了哪些值。我们如何将其格式化为正确的请求正文
  • @NIKHILKA 你能试试这个@ApiModelProperty(datatype="List", example = "[{'name': 'X','value': '100'}]")
  • 我是这样的 { "Products": "[{'name': 'X','value': '100'},{'name': 'Y','value' : '101'},{'name': 'Z','value': '102'}]" }
  • 如果我添加更多对象,验证值或更新值将非常困难。希望你能理解我的问题
  • 我刚刚发现我们使用密钥value`@ApiModelProperty(value = "{\n'name':'X',\n'value':'100'\n},\n {\n'name':'Y',\n'value':'100'\n}")`
猜你喜欢
  • 1970-01-01
  • 2017-01-10
  • 1970-01-01
  • 1970-01-01
  • 2022-01-10
  • 1970-01-01
  • 2023-02-04
  • 2023-03-03
  • 1970-01-01
相关资源
最近更新 更多