我们可以使用swagger-generator在模型变量上生成@JsonFormat吗?

问题描述 投票:1回答:1

我在yml文件中有一个变量

startDate:
 type:string
 format:date

我正在使用swagger-generator从yaml生成java代码。

它正在生成一个startDate变量,如下所示

@JsonProperty("startDate")
private LocalDate startDate = null; 

但我需要如下

@JsonProperty("startDate")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd")
private LocalDate startDate = null; 

有人可以帮我吗?

java spring-boot swagger swagger-2.0 swagger-codegen
1个回答
1
投票

这里的问题是你试图使用Java 8序列化LocalDate @JsonFormat而不使用正确的jackson模块/依赖。如果您查看注释文档,它会说;

常见用途包括在备用表示之间进行选择 - 例如,将Date序列化为数字(Java时间戳)还是字符串(例如ISO-8601兼容时间值) - 以及使用pattern()属性配置精确详细信息。

swagger codegen项目中没有关于如何指定特定于语言的配置选项的正确文档,我只在以下票证中看到了这些配置选项;

https://github.com/swagger-api/swagger-codegen/issues/7795

根据那个问题,你可以强制Swagger codegen使用java8 dateLibrary

© www.soinside.com 2019 - 2024. All rights reserved.