snm*_*ula 2 java swagger swagger-editor swagger-codegen
我正在使用swagger-codegen-maven-plugin基于生成 Java 类swagger.yaml规范。
我phoneNum在swagger.yaml下面添加了一个属性:
phoneNum:
type: number
Run Code Online (Sandbox Code Playgroud)
我期望它生成带有Integer或Long数据类型的属性。
但它生成为BigDecimal phoneNum;
根据swagger 文档,有人提到使用format: int64
phoneNum:
type: number
format: int64
Run Code Online (Sandbox Code Playgroud)
但是,它最终会产生 private BigDecimal phoneNum;
如果你们中有人遇到过类似的问题并有解决方法,请在此处分享。
谢谢你。
为了生成Long属性,您必须使用integeras type 和int64as format
phoneNum:
type: integer
format: int64
Run Code Online (Sandbox Code Playgroud)
看着AbstractJavaCodegen我认为没有办法生成一个Timestamp属性。
唯一可用的类型是:
org.threeten.bp.LocalDateorg.threeten.bp.OffsetDateTimeorg.joda.time.LocalDate org.joda.time.DateTime java.time.LocalDatejava.time.LocalDateTimejava.time.OffsetDateTimejava.util.Date这是一种将 OffsetDateTime 转换为 Timestamp 的方法
OffsetDateTime dateTime = OffsetDateTime.now();
Timestamp timestamp = Timestamp.valueOf(dateTime.atZoneSameInstant(ZoneId.systemDefault()).toLocalDateTime());
Run Code Online (Sandbox Code Playgroud)