【发布时间】:2022-02-02 09:37:25
【问题描述】:
我正在使用 Swagger 2.1.9 版从 Springfox 迁移到 Springdoc。
因此必须重写注释,我找不到旧的 Swagger 注释的等效注释。
我有这个 API 控制器:
@GetMapping
@ApiOperation(value = "Load Building")
@ApiResponses(value = {
@ApiResponse(code = 200, message = "OK", response = Building.class, responseContainer = "Page")
})
public ResponseEntity<Page<Building>> getBuilding(Pageable building) {
final Page<Building> building = buildingrepo.findAll(page).map(bw -> mapper.map(bd, Building.class));
return ResponseEntity.ok().body(building);
使用新的 Swagger Annotation 必须重新编写它,但我不知道如何将“Building.class”放入响应模式中的 Pageable 中。我不能再使用“responseContainer”了
@GetMapping
@Operation(summary = "Load Building")
@ApiResponses(value = {
@ApiResponse(responseCode = "200",
description = "OK",
content = @Content(schema = @Schema(implementation = Building.class))) // <--- Here i need the Page class somehow as Container!!!
})
public ResponseEntity<Page<Building>> getBuilding(Pageable building) {
final Page<Building> building = buildingrepo.findAll(page).map(bw -> mapper.map(bd, Building.class));
return ResponseEntity.ok().body(building);
Api Docs 中的输出响应应如下所示:
responses:
200:
schema:
$ref: "#/definitions/Page<Building>"
也以 Swagger UI 为例:
{
"content": [
{ Building: "" }
]
}
我找不到“responseContainer”的正确参数
【问题讨论】:
标签: spring swagger openapi springdoc