java - java.time.Duration 的 springdoc-openapi-webflux-ui 问题(ISO 8601 持续时间格式)

标签 java spring-boot swagger duration springdoc-openapi-ui

Swagger 文档将持续时间显示为

  "duration": {
    "seconds": 0,
    "nano": 0,
    "zero": true,
    "negative": true,
    "units": [
      {
        "dateBased": true,
        "timeBased": true,
        "durationEstimated": true
      }
    ]
  },
但实际格式是ISO 8601持续时间格式(PT0S),以下是代码段。有什么方法可以正确格式化文档吗?
任务文件
@Document(collection = "tasks")
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder(toBuilder = true)
public class Task {

    public enum Status {
        todo, inprogress, done
    }

    @Id
    private String id;

    private String name;

    private String description;

    private Status status = Status.todo;

    private Duration estimatedDuration = Duration.ZERO;

    private Duration duration = Duration.ZERO;
    }
初始化
@SpringBootApplication
@OpenAPIDefinition(info = @Info(title = "APIs v1.0.2", version = "1.0.2", description = "Documentation APIs v1.0.2"))
public class SBApplication {
......

}
pom 依赖
    <dependency>
        <groupId>org.springdoc</groupId>
        <artifactId>springdoc-openapi-webflux-ui</artifactId>
        <version>1.4.3</version>
    </dependency>

最佳答案

尝试

    import io.swagger.v3.oas.annotations.media.Schema;

    ...

    @Schema(type = "string", format = "duration")
    private Duration estimatedDuration = Duration.ZERO;

    @Schema(type = "string", format = "duration")
    private Duration duration = Duration.ZERO;
  

关于java - java.time.Duration 的 springdoc-openapi-webflux-ui 问题(ISO 8601 持续时间格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67769633/

相关文章:

java - 在Java android studio中解析json

java - 如何将 spring gcp PubSubTemplate 连接到本地实例?

asp.net-core - 仅针对 MVC 核心应用程序中的 API Controller 生成 Swagger/Swashbuckle 文档

swagger - 为 ApiParam 和 ApiQuery 定义 DTO

java - 如何使用 JDBC 或 Hibernate 获取当前数据库事务 ID?

java - 测试包含接口(interface)调用的抽象类的具体方法

java - Apache 点燃查询

java - 项目 'starter' 中所需库 : spring-core-4. 0.1.RELEASE.jar 的类型存档无法读取或不是有效的 ZIP 文件

java - 映射嵌套元素 - Mapstruct

java - 如何更改 Swagger-ui URL 前缀?