【问题标题】:How to serialize Instant field of class with swagger-maven-plugin?如何使用 swagger-maven-plugin 序列化类的 Instant 字段?
【发布时间】:2019-12-22 17:29:27
【问题描述】:

我有该领域的课程:

@ApiModelProperty(value = "Дата получения баланса", example = "2018-01-16T09:22:33.316Z")
@JsonProperty("date")
private Instant date;

当我从此源(使用 swagger-maven-plugin)生成 yaml 时,我得到:

date:
    type: "integer"
    format: "int64"
    example: "2018-01-16T09:22:33.316Z"
    description: "Дата получения баланса"

因此,当我从 yaml(使用 swagger-codegen-maven-plugin)生成回我的类时,我会使用字段:

@JsonProperty("date")
private Long date = null;

为什么 Instant 会转换为 Long?

【问题讨论】:

  • 首先为什么来自“私人即时约会;”你得到'类型:“整数”'?
  • @lczapski 完全正确!

标签: java swagger swagger-maven-plugin


【解决方案1】:

这是 swagger-core 的一个 bug,已在 2.1.2 版本中修复(参见 here)。

如果您使用的是以前的版本,您可以通过将 Instant 数据类型的 PrimitiveType 替换为以下 sn-p 来自定义此行为:

PrimitiveType.customClasses().put(java.time.Instant.class.getName(), 
                              PrimitiveType.DATE_TIME);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 1970-01-01
    • 2021-12-21
    • 1970-01-01
    • 2022-08-05
    • 2018-08-29
    • 2016-08-13
    相关资源
    最近更新 更多