es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo eliminar ApiUtil.java de la tarea de generación de OpenAPI con openapi-generator-gradle-plugin:4.3.0

Estoy utilizando openapi-generator-gradle-plugin:4.3.0 para generar la API y los modelos a partir de un archivo openApi-generate.yaml. He configurado skipDefaultInterface: “true” en configOptions, lo que impide que se genere la implementación predeterminada de las interfaces y que ApiUtil.java no se utilice en ningún lugar. (Las implementaciones predeterminadas usan ApiUtil.java)

Lo que quiero es eliminar (deshabilitar la generación de) ApiUtil.java de generated_sources, ya que no se utiliza en el código y su código predeterminado también crea problemas de seguridad en el pipeline.

Lo que he intentado: He intentado agregar diferentes opciones:

  1. supportingFilesConstrainedTo = []
  2. supportingFiles = “”
  3. supportingFilesToGenerate = “”
  4. apiFilesConstrainedTo = []

Pero no he podido eliminar este archivo de la generación. He revisado esto: OpenApi generation Customization, pero parece que no es aplicable a la versión dada.

El script de construcción de gradle actual se ve así:

task generateTask(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask) {
    generatorName = "spring"
    inputSpec = "$projectDir/src/main/resources/specs/openApi-generate.yaml"
    outputDir = "$buildDir/generated-sources"
    apiPackage = "com.example.openapi.api"
    modelPackage = "com.example.openapi.model"
    generateModelDocumentation = false
    generateApiDocumentation = false
    generateModelTests = false
    generateApiTests = false
    configOptions = [
        dateLibrary: "java8",
        interfaceOnly: "true",
        serializableModel: "true",
        skipDefaultInterface: "true"
    ]
}
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para eliminar el archivo ApiUtil.java generado por openapi-generator en la versión 4.3.0, puedes intentar agregar las siguientes opciones de configuración en configOptions:

    configOptions = [
            dateLibrary: "java8",
            interfaceOnly: "true",
            serializableModel: "true",
            skipDefaultInterface: "true",
            apiTests: "false",
            modelTests: "false",
            supportingFiles: "false",
            apiFiles: "false"
    ]
    

    Al establecer supportingFiles y apiFiles como false, puedes desactivar la generación de estos archivos. Además, establecer apiTests y modelTests como false puede ayudar a eliminar archivos generados adicionales.

    Si las opciones anteriores no funcionan, puedes intentar usar una plantilla personalizada para generar código sin los archivos no deseados. La guía de Personalización de OpenAPI Generator (https://openapi-generator.tech/docs/customization/) proporciona información sobre cómo hacerlo.

Comments are closed.