我正在使用fabric8 maven插件从它的yaml文件自动生成CRD的Java类。其中一个字段是:
updated_time:
format: date-time
type: string
它正在转换为
java.time.zoneddatetime
字段:
@com.fasterxml.jackson.annotation.JsonFormat(timezone = "UTC", pattern = "yyyy-MM-dd'T'HH:mm:ssX")
private java.time.ZonedDateTime updated_time;
我想将上面的模式更改为
yyyy-MM-dd'T'HH:mm:ssXXX
,带有偏移量的时间戳,这样它就可以像 2023-08-07T06:43:19+00:00
一样解析时间戳。
我怎样才能实现这个目标?在java-generator-maven-plugin v6.2.0上,打开升级。
目前在fabric8 java-generator 中这是不可能的。 根据 OpenAPI 规范,日期时间字段应为 RFC 3339。
您介意详细说明发出错误日期格式的用例/项目吗?
无论如何,可行的解决方法是在生成之前在 CRD 中注释掉
format: date-time
,这样您就可以收到 String
。
版本说明: 我确实相信您正在使用版本 > 6.8 的 java-generator,因为对日期时间的本机支持只是最近发布了。
fabric8 java-generator 版本 6.8.1 已发布,并包含此问题的相关修复。