问题:当我们的 REST 服务返回带有日期/日期时间字段的对象时,这些字段被编码为 JSON 格式的复杂结构:
...
"createdTimestamp": {
"offset": {
"totalSeconds": 0,
"id": "Z",
"rules": {
"fixedOffset": true,
"transitionRules": [],
"transitions": []
}
},
"nano": 257353000,
"hour": 16,
"minute": 5,
"second": 25,
"month": "OCTOBER",
"year": 2017,
"dayOfMonth": 5,
"dayOfWeek": "THURSDAY",
"dayOfYear": 278,
"monthValue": 10
},
...
Run Code Online (Sandbox Code Playgroud)
我希望这些时态数据类型以“2017-10-05T16:05:25”等简单格式序列化为字符串。
该项目最初基于 Java 7 API 并java.util.Date在任何地方使用 - 并且有效。当我切换到 Java 8 并开始使用新java.time类时,除了将日期/时间对象序列化为 JSON 之外,一切正常。
我知道我可以java.util.Date再次使用该类型,但我更喜欢使用新的数据类型。
REST 服务使用 Swagger 定义并使用 Maven 构建。在swagger-codegen-maven-plugin使用时,具有以下配置:
jaxrs-cxf-cdijava8以下是其他相关库的版本(在 …