我正在使用 openapi-generator-maven-plugin 生成模型源。根据我当前的配置,它会为每个模型类生成名为 fromJson 和 toJson 的方法。
有没有办法配置插件,这样它就不会生成这个 Json 方法? 我不需要它们,而且它们带来了我的项目中不需要的依赖项。
这是我当前的插件配置
<plugin>
<groupId>org.openapitools</groupId>
<artifactId>openapi-generator-maven-plugin</artifactId>
<version>6.3.0</version>
<executions>
<execution>
<goals>
<goal>generate</goal>
</goals>
<configuration>
<inputSpec>${project.basedir}/src/main/resources/api.yaml</inputSpec>
<generatorName>java</generatorName>
<language>Java</language>
<output>${project.build.directory}/generated-sources/swagger</output>
<configOptions>
<sourceFolder>src/gen/java/main</sourceFolder>
<!-- Add custom annotation for model sources to achieve builder pattern -->
<additionalModelTypeAnnotations>@lombok.experimental.SuperBuilder @lombok.AllArgsConstructor</additionalModelTypeAnnotations>
</configOptions>
<modelPackage>my.package</modelPackage>
<!-- Only generate the model since we need it for deserialization -->
<generateApis>false</generateApis>
<generateApiDocumentation>false</generateApiDocumentation>
<generateApiTests>false</generateApiTests>
<generateModelDocumentation>false</generateModelDocumentation>
<generateModelTests>false</generateModelTests>
<generateSupportingFiles>false</generateSupportingFiles>
<generateModels>true</generateModels>
</configuration>
</execution>
</executions>
</plugin>
最佳答案
当 Java 生成器库设置为 okhttp-gson
或 retrof
时,会生成 fromJson
和 toJson
方法>。如果未定义,openapi-generator
默认使用 okhttp-gson
。
您可以通过检查library config options来查看使用的不同JSON处理器。 。其中大多数使用 Jackson,但默认使用 gson
。您还可以将 serializationLibrary
设置为 jackson
,但这只会影响某些库生成器;不是全部。
因此,如果您将 library
设置为适合您的项目的内容,不需要的 toJson
和 fromJson
方法将会消失,同样不需要的依赖项。
关于java - 没有 fromJson 和 toJson 方法的 openapi codegen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75369656/