我正在尝试使用ZonedDateTime作为日期的类,从yaml文件生成一个API类。当我这样做时,我可以成功地在配置中将生成的类OffsetDateTime更改为ZonedDateTime,但没有生成正确的导入语句,这会导致错误。它只导入import java.time.OffsetDateTime;
。有人知道我可以尝试什么,以便生成正确的导入吗?
这是我在pom中配置它的最新尝试,我使用的是io.swager.codegen.v3中的swagger-codegen-maven插件3.0.20版本。
<configuration>
<additionalProperties>
<additionalProperty>ignoreImportMappings=false</additionalProperty>
</additionalProperties>
<generateSupportingFiles>false</generateSupportingFiles>
<inputSpec>${project.basedir}/src/main/resources/api/api.yaml</inputSpec>
<modelPackage>api.domene</modelPackage>
<language>spring</language>
<generateModels>true</generateModels>
<generateApis>true</generateApis>
<generateApiTests>false</generateApiTests>
<configOptions>
<library>spring-boot</library>
<interfaceOnly>true</interfaceOnly>
<hideGenerationTimestamp>true</hideGenerationTimestamp>
<useTags>true</useTags>
<java8>true</java8>
<serializableModel>true</serializableModel>
<dateLibrary>java8</dateLibrary>
</configOptions>
<typeMappings>OffsetDateTime=ZonedDateTime</typeMappings>
<importMappings>
<importMapping>java.time.OffsetDateTime=java.time.ZonedDateTime</importMapping>
</importMappings>
</configuration>
importMappings和importMapping标记不起作用,您是对的。但有一个变通办法;
...
</configOptions>
<typeMappings>
<typeMapping>OffsetDateTime=java.time.ZonedDateTime</typeMapping>
</typeMappings>
</configuration>
这样,在生成的源中,即使导入部分包含";导入java.time.OffsetDateTime&";,生成的方法参数和变量将被定义为";java.time.ZonedDateTime";这样您就可以在代码中使用正确的日期函数。