【发布时间】:2020-07-16 21:00:39
【问题描述】:
我正在尝试使用 Swagger UI 创建和部署我的文档以及我使用 Spring Boot 编写的 API。我知道 Swagger 提供了一些注释来帮助在实际的控制器类中编写文档,但我在尝试让它们做我需要的事情时遇到了麻烦。
我的问题是我有一个通用 DTO 类,每次调用我的 API 都会返回该类。此 DTO 有一个用于通用对象的 contents 字段。如果我直接使用对象,我知道我可以使用类似的东西
@ApiResponse(responseCode = "200", description = "Customer found",
content = @Content(
schema = @Schema(implementation = Customer.class)))
为了给出对象的 JSON 表示应该是什么样子的规范。但是,因为我将所有内容都包装在特定的 ResponseDTO 类中,所以我需要一种方法来指定 contents 字段的外观,我不确定可以使用哪些注释来完成此操作。我觉得肯定应该有类似的东西
@ApiResponse(responseCode = "200", description = "Customer found",
content = @Content(
schema = @Schema(implementation = DTO.class,
fields = { "contents" = @Schema(implementation = Customer.class)})))
或类似的东西。我一直无法找到如何真正做到这一点的解释。我的直觉表明应该有一种方法可以将模式放入模式中,但也许还有另一种我没有考虑过的解决方案。任何帮助或寻找方向将不胜感激。提前致谢。
【问题讨论】:
标签: java spring-boot swagger swagger-ui openapi