swagger.yaml :: 如何生成具有 "Long" 数据类型和 "Timestamp" 数据类型的属性?
swagger.yaml :: How to generate properties with "Long" data type and "Timestamp" datatype?
我正在使用 swagger-codegen-maven-plugin
根据 swagger.yaml
规范生成 Java 类。
我在swagger.yaml
中添加了一个属性phoneNum
如下:
phoneNum:
type: number
我期待它生成 属性 和 Integer
或 Long
数据类型。
但它生成为 BigDecimal phoneNum;
根据 swagger docs,提到使用 format: int64
phoneNum:
type: number
format: int64
但是,它最终还是生成了 private BigDecimal phoneNum;
如果你们中的任何人遇到过类似的问题并且有解决方法,请在此处分享。
谢谢。
为了生成 Long
属性 你必须使用 integer
作为类型和 int64
作为格式
phoneNum:
type: integer
format: int64
看着AbstractJavaCodegen我觉得没办法生成Timestamp
属性.
唯一可用的类型是:
org.threeten.bp.LocalDate
org.threeten.bp.OffsetDateTime
org.joda.time.LocalDate
org.joda.time.DateTime
java.time.LocalDate
java.time.LocalDateTime
java.time.OffsetDateTime
java.util.Date
这是一种将 OffsetDateTime 转换为时间戳的方法
OffsetDateTime dateTime = OffsetDateTime.now();
Timestamp timestamp = Timestamp.valueOf(dateTime.atZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime());
我正在使用 swagger-codegen-maven-plugin
根据 swagger.yaml
规范生成 Java 类。
我在swagger.yaml
中添加了一个属性phoneNum
如下:
phoneNum:
type: number
我期待它生成 属性 和 Integer
或 Long
数据类型。
但它生成为 BigDecimal phoneNum;
根据 swagger docs,提到使用 format: int64
phoneNum:
type: number
format: int64
但是,它最终还是生成了 private BigDecimal phoneNum;
如果你们中的任何人遇到过类似的问题并且有解决方法,请在此处分享。
谢谢。
为了生成 Long
属性 你必须使用 integer
作为类型和 int64
作为格式
phoneNum:
type: integer
format: int64
看着AbstractJavaCodegen我觉得没办法生成Timestamp
属性.
唯一可用的类型是:
org.threeten.bp.LocalDate
org.threeten.bp.OffsetDateTime
org.joda.time.LocalDate
org.joda.time.DateTime
java.time.LocalDate
java.time.LocalDateTime
java.time.OffsetDateTime
java.util.Date
这是一种将 OffsetDateTime 转换为时间戳的方法
OffsetDateTime dateTime = OffsetDateTime.now();
Timestamp timestamp = Timestamp.valueOf(dateTime.atZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime());