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

OpenAPI(Swagger)无法正确使用数组类型

班玉堂
2023-03-14

我使用SpringBootspringdoc-openapi-ui。我有一个带有方法的控制器,其中包含作为url参数的数组

 @Parameters(value = {
            @Parameter(in = ParameterIn.QUERY, name = "output", example = "[f1,f2,f3]",
                    content = @Content(array = @ArraySchema(schema = @Schema(type = "string"))))
})
public ResponseEntity<Object> showReportData(@RequestParam(value = "output") String[] outputFields) {
//some body
}

为什么会发生这种情况?为什么项目中没有显示示例数组?

共有1个答案

姚正真
2023-03-14

这似乎与您的浏览器配置有关。尝试更换浏览器...

数组在swagger ui中的工作方式就像chamr。

 类似资料:
  • 我已经试过了,但是Swagger UI不能渲染它,所以我猜测它是错误的:

  • 我是个傻瓜。我试图用swagger 2.0 yaml记录一个API,其响应如下 正如您所见,“type”的类型是string,“id”是integer,“name”是string。但是什么类型的“地理”呢?我本来打算把“object”类型放在这里,但似乎object类型只是一个json对象。 据该网站称,OpenAPI只支持这些类型的字符串(包括日期和文件)数字整数布尔数组对象

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

  • 我有一个API,它总是使用关联数组回答,其中只有一个条目包含包含最终结果的键“数据”。结果可以是一个对象或对象数组。这是API输出: 我怎样才能让swagger在文档中显示数据,即键的名称? 至于现在,我只得到大摇大摆的嵌套数组: 我需要数据键在从API返回时以swagger的形式显示。这可行吗?我还没有找到任何解决办法…:/ 我的yaml文件的部分内容: 任何帮助都将不胜感激:) 干杯

  • 我正在使用OpenApi和Swagger构建一些文档,但由于js错误,我无法对其进行测试。 我想定义一个将接受特定值的参数,因此我在属性中添加了。我在请求中定义参数,如下所示 开发工具

  • 问题内容: 我有此数据: 当我运行此代码时: 因为我得到: 这就是我想要的。 但是如果我用1而不是0 按元组中的第二个数字分组,我只会得到: 即使还有其他元组在该1(第二个)位置具有“ 1”。 问题答案: itertools.groupby使用相同的密钥将 连续的 项目收集在一起。如果希望所有项目都使用相同的键,则必须先进行排序。