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

如何在Swagger中注释对象响应数组

邹昊
2023-03-14

我必须调试使用Swagger开发的RESTAPI Java项目。我是新手,所以我对如何做某些事情有点困惑。例如,这里有一种方法:

@GET
@Path("/location/name")
@Produces({MediaType.APPLICATION_JSON})
@Operation(
    summary = "Get location information",
    tags = {"Information"},
    responses = {
        @ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = LocationResponse.class)), description = "Get location information"),
        @ApiResponse(responseCode = "500", description = "Error: Internal Server Error")
    }
)
public Response searchLocationByName(
    @Parameter(description = "Location name", required = true) @DefaultValue("Barcelona") @QueryParam("name") String locationName
) { /* METHOD CODE */ }

代码 200 的@ApiResponse不是 LocationResponse 类型,而是 ArrayList 类型

谢啦!


共有2个答案

申查猛
2023-03-14

对于PageDto

孟凯泽
2023-03-14

使用@ArraySchema而不是纯@Schema来定义数组类型的输入或输出数据。

 类似资料:
  • 我可以这样做: 然而,这似乎不起作用。我返回到的规范,注意到可以是引用对象,但不能。 如果您无法引用响应定义对象(最顶层的)中的项,那么允许该对象的意义何在?有没有办法做到这一点?

  • 我试图在大摇大摆地描述以下post参数: “任何人”=[“971”,50.0,70.0],“832”,50.0,30.0],“134A”,50.0,100.0]]

  • 问题内容: 我正在为QuerySet中的每个项目生成聚合: 但是我没有得到JSON响应中的计数。 问题答案: 从get_queryset返回的queryset提供了将要通过序列化程序的内容的列表,该序列化程序控制对象的表示方式。尝试在Book序列化器中添加其他字段,例如: 编辑:正如其他人所说,这不是返回许多结果的情况下增加计数的最有效方法,因为它将对每个实例命中数据库。有关更有效的解决方案.

  • 我正在使用从以下依赖项导入的Swagger/OpenAPIV3注释创建应用程序的API描述: 其中一个批注是批注,它接受名为的属性,该属性允许字符串数组: 现在,我想使用在枚举类上构造的自定义方法,该方法返回允许的字符串数组,因此不需要在每次向枚举添加类型时添加该方法。以便我们可以这样使用它: 现在这是无法编译的,因为在执行注释时不知道该方法。是否有这样的解决方案允许在SwaggerV3注释属性值

  • 我试图实现这样的东西 但我不知道这是否可行有人能帮我谢谢你

  • 问题内容: 考虑简单的Django模型和: 使用参与者总数来注释事件查询很容易: 如何用筛选的参与者计数进行注释? 我需要查询所有事件,而与参与者人数无关,例如,我不需要按带注释的结果进行过滤。如果有参与者,那没关系,我只需要带有0注释的值即可。 文档中的示例在这里不起作用,因为它从查询中排除了对象,而不是使用注释了对象0。 更新。Django 1.8具有新的条件表达式功能,因此我们现在可以像这样