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/