我使用的是<dateLibrary>java11-localdatetime</dateLibrary>,但是它使用java.util.Date生成代码,而忽略了数据类型format: date-time。
我必须使用typeMapping将“util日期”替换为LocalDate,如下所示:
<plugin>
<groupId>io.swagger.codegen.v3</groupId>
<artifactId>swagger-codegen-maven-plugin</artifactId>
<version>3.0.27</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/spec.yaml</inputSpec>
<language>spring</language>
<output>${project.basedir}</output>
<modelPackage>com.generated.model</modelPackage>
<apiPackage>com.generated.api</apiPackage>
<generateModels>true</generateModels>
<generateModelDocumentation>false</generateModelDocumentation>
<generateApis>true</generateApis>
<generateApiDocumentation>false</generateApiDocumentation>
<generateApiTests>false</generateApiTests>
<generateSupportingFiles>false</generateSupportingFiles>
<configOptions>
<hideGenerationTimestamp>true</hideGenerationTimestamp>
<dateLibrary>java11-localdatetime</dateLibrary>
</configOptions>
<importMappings>
<importMapping>Date=java.time.LocalDate</importMapping>
</importMappings>
<typeMappings>
<typeMapping>Date=LocalDate</typeMapping>
</typeMappings>
</configuration>
</execution>
</executions>
</plugin>发布于 2022-10-11 12:24:38
通过使用以下配置解决了这一问题:
<configOptions>
<hideGenerationTimestamp>true</hideGenerationTimestamp>
<dateLibrary>java8-localdatetime</dateLibrary>
<interfaceOnly>true</interfaceOnly>
<defaultInterfaces>false</defaultInterfaces>
</configOptions>有用的链接:swagger-codegen默认接口
https://stackoverflow.com/questions/74028123
复制相似问题