有什么办法可以使用 List<MyClass>.class 之类的东西吗?
Is there any way to use something like List<MyClass>.class?
我正在使用 SpringBoot 与 OpenAPI 和 SwaggerUI 来实现休息 api。我想用 @ApiResponses
注释 @GetMapping
方法以提供响应的模式,但我正在努力处理 @Schema
的参数 implementation
。我方法的 return 类型是 List<ScanDTO>
,所以我尝试了以下方法:
@ApiResponses( value = {
@ApiResponse(content = {@Content(schema = @Schema(implementation = List<ScanDTO>.class))})
})
但这行不通。 ScanDTO.class
这样的东西会起作用。 implementation
参数的类型为 Class<?>
.
我的解决方法是创建一个包装器 class,如下所示:
public interface ScanDTOList extends List<ScanDTO> {
}
并使用它。它似乎在工作,但我认为我将来不需要额外的 class,所以我想知道,如果没有这种解决方法,是否有任何方法可以使它工作。
使用 ArraySchema 应该可以为您解决这个问题
@ApiResponse(
content = {@Content(
array = @ArraySchema(schema = @Schema(implementation = ScanDTO.class))
)}
)
我正在使用 SpringBoot 与 OpenAPI 和 SwaggerUI 来实现休息 api。我想用 @ApiResponses
注释 @GetMapping
方法以提供响应的模式,但我正在努力处理 @Schema
的参数 implementation
。我方法的 return 类型是 List<ScanDTO>
,所以我尝试了以下方法:
@ApiResponses( value = {
@ApiResponse(content = {@Content(schema = @Schema(implementation = List<ScanDTO>.class))})
})
但这行不通。 ScanDTO.class
这样的东西会起作用。 implementation
参数的类型为 Class<?>
.
我的解决方法是创建一个包装器 class,如下所示:
public interface ScanDTOList extends List<ScanDTO> {
}
并使用它。它似乎在工作,但我认为我将来不需要额外的 class,所以我想知道,如果没有这种解决方法,是否有任何方法可以使它工作。
使用 ArraySchema 应该可以为您解决这个问题
@ApiResponse(
content = {@Content(
array = @ArraySchema(schema = @Schema(implementation = ScanDTO.class))
)}
)