java - 没有 fromJson 和 toJson 方法的 openapi codegen

标签 java openapi openapi-generator openapi-generator-maven-plugin

我正在使用 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-gsonretrof 时,会生成 fromJsontoJson 方法>。如果未定义,openapi-generator 默认使用 okhttp-gson

您可以通过检查library config options来查看使用的不同JSON处理器。 。其中大多数使用 Jackson,但默认使用 gson。您还可以将 serializationLibrary 设置为 jackson,但这只会影响某些库生成器;不是全部。

因此,如果您将 library 设置为适合您的项目的内容,不需要的 toJsonfromJson 方法将会消失,同样不需要的依赖项。

关于java - 没有 fromJson 和 toJson 方法的 openapi codegen,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75369656/

相关文章:

java - 帧显示问题

java - hibernate : StackOverflowException logging ManyToMany association

java - Hashicorp Vault 加密数据

java - OpenAPI Generator gradle 插件文件名输出

swagger - 如何合并多个 OpenAPI 规范?

java - 为什么 Hazelcast 在不运行时会拖慢性能?

postman - 如果未设置 'bearerformat',则不应具有 'scheme: bearer' 属性

swagger - 如何使用 swagger 在路径中定义可选参数

angular - swagger-codegen 不会生成查询参数对象

json - openAPI 无法解析对外部文件的引用。组件名称包含无效字符