如何使用fabric8 maven插件为Java zoneddatetime添加自定义序列化器/格式?

问题描述 投票:0回答:2

我正在使用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上,打开升级。

java java-time fabric8 zoneddatetime fabric8-maven-plugin
2个回答
0
投票

目前在fabric8 java-generator 中这是不可能的。 根据 OpenAPI 规范,日期时间字段应为 RFC 3339。

您介意详细说明发出错误日期格式的用例/项目吗?

无论如何,可行的解决方法是在生成之前在 CRD 中注释掉

format: date-time
,这样您就可以收到
String

版本说明: 我确实相信您正在使用版本 > 6.8 的 java-generator,因为对日期时间的本机支持只是最近发布了


0
投票

fabric8 java-generator 版本 6.8.1 已发布,并包含此问题的相关修复。

© www.soinside.com 2019 - 2024. All rights reserved.