java - swagger-codegen-maven-plugin 在生成 API 类时忽略我为 ZonedDateTime 设置的导入映射

标签 java spring-boot swagger-codegen zoneddatetime swagger-codegen-maven-plugin

我正在尝试使用 ZonedDateTime 作为日期类从 yaml 文件生成 API 类。当我这样做时,我可以在配置中成功地将生成的类 OffsetDateTime 更改为 ZonedDateTime,但是没有生成正确的导入语句,这会导致错误。它只进口 import java.time.OffsetDateTime; .有人知道我可以尝试什么以生成正确的导入吗?
这是我在 pom 中配置它的最新尝试,我使用的是来自 io.swagger.codegen.v3 的 swagger-codegen-maven-plugin,版本 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>
这样,在生成的源代码中,即使导入部分包含“import java.time.OffsetDateTime;”,生成的方法参数和变量也将被定义为“java.time.ZonedDateTime”,因此您可以在您的文件中使用正确的日期函数代码。

关于java - swagger-codegen-maven-plugin 在生成 API 类时忽略我为 ZonedDateTime 设置的导入映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65562202/

相关文章:

java - Mockito 使用 JUnit 5 注入(inject)模拟两次

java - H2 org.h2.jdbc.JdbcSQLException 与正确的 DDL sql : error code = [42000-196]

java - 在Intellij Idea下使用Maven和ReactJS启动一个Spring Web应用程序项目

Python Connexion - 响应修剪

java - 如何导出jcr :security in Jackrabbit?

java - 如何按列从数据库中获取记录

javascript - Swagger-Codegen:如何将所有文件合并到一个文件中以进行客户端代码生成

swagger - 如何为 OpenAPI 3.0.0 运行 swagger-codegen

java - Jackson Kotlin/Java 中泛型类型的自定义反序列化

java - 如何将 ImageView 移至顶部?