如何在 Springdoc Swagger v3 中表示字符串列表?

Posted

技术标签:

【中文标题】如何在 Springdoc Swagger v3 中表示字符串列表?【英文标题】:How to represent List of Strings in Springdoc Swagger v3? 【发布时间】:2020-11-12 02:49:24 【问题描述】:

下面是和我的情况类似的代码

@ApiResponses(value = 
            @ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(
                implementation =  // <-- What to specify here?
            )))
)
@GetMapping(value = "/user")
public ResponseEntity<List<User>> getUsers() 
    return ResponseEntity.ok().body(Arrays.asList(new User(), new User()));

如何在ApiResponse() 中指定从端点返回的用户列表?

请注意,Open-API-Definition 不是项目的一部分,而是在另一个项目中指定的。

【问题讨论】:

【参考方案1】:

使用以下方法解决

@ApiResponses(value = 
            @ApiResponse(responseCode = "200", description = "OK", content = 
                @Content(array = @ArraySchema(schema = @Schema(implementation = User.class)))
            )
)
@GetMapping(value = "/user")
public ResponseEntity<List<User>> getUsers() 
    return ResponseEntity.ok().body(Arrays.asList(new User(), new User()));

【讨论】:

你知道如何向 List 添加模式吗?我尝试做@Schema(implementation = User.class, pattern = "pattern"),但它没有在 swagger 文档中生成。 我没有遵循你所指的模式。

以上是关于如何在 Springdoc Swagger v3 中表示字符串列表?的主要内容,如果未能解决你的问题,请参考以下文章

Springfox与SpringDoc——swagger如何选择(SpringDoc入门)

如何编写自定义排序器以在 UI 中按名称对 springdoc swagger 标签进行排序?

我们可以在 Springdoc 中用 redoc 替换 swagger-ui

Spring Boot2 入门学习14.使用SpringDoc的 Swagger

springdoc-openapi swagger-ui 中的 CSRF 支持

Spring Boot 使用 SpringDoc 库的 Swagger3.0