Java swagger.yaml::如何使用“生成属性”;“长”;数据类型和";时间戳;数据类型?

Java swagger.yaml::如何使用“生成属性”;“长”;数据类型和";时间戳;数据类型?,java,swagger,swagger-codegen,swagger-editor,Java,Swagger,Swagger Codegen,Swagger Editor,我正在使用swagger-codegen-maven-plugin基于swagger.yamlspec生成Java类 我在swagger.yaml中添加了一个属性phoneNum,如下所示: phoneNum: type: number 我希望它生成带有Integer或Long数据类型的属性。但它生成为BigDecimal phoneNum 根据,提到使用格式:int64 phoneNum: type: number format: int64 但是,它仍然会生成

我正在使用
swagger-codegen-maven-plugin
基于
swagger.yaml
spec生成Java类

我在
swagger.yaml
中添加了一个属性
phoneNum
,如下所示:

phoneNum:
    type: number
我希望它生成带有
Integer
Long
数据类型的属性。
但它生成为
BigDecimal phoneNum

根据,提到使用
格式:int64

  phoneNum:
    type: number
    format: int64
但是,它仍然会生成
私有的BigDecimal phoneNum

如果你们中有人遇到过类似的问题并有解决办法,请在这里分享


谢谢。

要生成
Long
属性,必须将
integer
用作类型,将
int64
用作格式

phoneNum:
    type: integer
    format: int64
现在来看,我认为没有办法生成
时间戳
属性。
唯一可用的类型是:

  • 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());