当前位置: 首页 > 知识库问答 >
问题:

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

南宫正阳
2023-03-14

我正在尝试使用ZonedDateTime作为日期的类,从yaml文件生成API类。执行此操作后,我可以在配置中将生成的类OffsetDateTime成功更改为ZonedDateTime,但没有生成正确的导入语句,这会导致错误。它只导入java。时间OffsetDateTime 。是否有人知道我可以尝试什么,以便生成正确的导入?

这是我在pom中配置它的最新尝试,我正在使用io中的swagger codegen maven插件3.0.20版。大摇大摆codegen。v3。

<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>

共有1个答案

柴彬
2023-03-14

导入映射和导入映射标签不起作用,你是对的。但是有一个解决方法;

...
    </configOptions>
    <typeMappings>
        <typeMapping>OffsetDateTime=java.time.ZonedDateTime</typeMapping>
    </typeMappings>
</configuration>

这样,在生成的源代码中,即使导入部分包含“import java.time.OffsetDateTime;”,生成的方法参数和变量将被定义为“java.time.ZonedDateTime”,因此您可以在代码中使用正确的日期函数。

 类似资料:
  • 我寻找一些配置,我可以改变接口的名称,已生成,但没有找到解决方案。 对此有什么想法吗??

  • 我目前正在通过maven插件使用swagger-codesen:https://github.com/swagger-api/swagger-codegen/tree/master/modules/swagger-codegen-maven-plugin.我已经设置了我希望使用

  • 我使用的是openapi生成器maven-plugin 使用<代码> 在我的yaml服务定义文件中,描述我的REST操作(XML消息)。我有这样一个模式: 以及定义的服务: 我生成客户端代码。但是当我使用它时,发送到超文本传输协议请求的XML使用

  • 问题内容: 这是从CruiseControl执行时得到的: 同时,从命令行启动它可以提供正确的结果。为什么要进入这个?为什么忽略了我?我该如何解决? 我不知道从CC启动when 的值是什么。我真的很想获得这些信息,但我不知道如何。CC本身是从用户开始与该用户给我(这是CentOS的5.4): 问题答案: 假设您有一台linux机器。 看一下,这是一个符号链接。查看此符号链接的目标位置(在我的情况下

  • 我的目标是使用OpenAPI3.0生成Spring Boot REST客户端。 我希望首先生成API的OpenAPI规范文件(springdoc-openapi-maven-plugin),然后使用Maven从该文件(swagger-codegen-maven-plugin)生成客户机代码。 我的问题是swagger-codegen-maven-plugin在springdoc-openapi-m

  • 选项无效。 运行生成一个war目录,其中。class文件位于目录中,它们也不会存档到目录中的jar中。产生相同的结果。 JIRA票-https://issues.apache.org/JIRA/browse/mwar-355 这就是有问题的项目:https://bitbucket.org/dmos62/raudondvaris