hi <@U01A96FJ9SS>. What do you mean ?
# ktor
h
hi @Júlio Santos. What do you mean ?
🧵 1
j
Hi @hdarritchon. I am developing a remaining api, where I need to use openapi. As I'm new with ktor and also didn't find any examples, I decided to ask for your help.
h
In my build.gradle.kts ```kotlin
Copy code
fun generateApiSourcesFunction(task: Task, specFile: String) {
    task.description = "Generates sources from Swagger."

    val swagger = "$projectDir/src/main/resources/swagger/*.json"
    val output = "$buildDir/generated-sources/swagger"

    task.inputs.files(swagger)
    task.outputs.dir(output)

    task.doLast {
        with(CodegenConfigurator()) {
            setInputSpec("$projectDir/src/main/resources/swagger/$specFile")
            setOutputDir(output)
            addSystemProperty("models", "") // pour ne générer que les classes du modèle, pas les stubs
            addSystemProperty("modelDocs", "false") // pour ne générer que les classes du modèle, pas les stubs
            setGeneratorName("kotlin")
            setModelPackage("com.xxxxxxx.xxxxx.xxxxx.api.domain.models")
            setAdditionalProperties(
                mapOf(
                    "dateLibrary" to "java8",
                    "serializationLibrary" to "jackson",
                    "enumPropertyNaming" to "original" // sinon par défaut les enums sont en camelCase
                )
            )
            setTypeMappings(
                mapOf(
                    "array" to "kotlin.collections.List",
                    "DateTime" to "java.time.OffsetDateTime"
                )
            )

            DefaultGenerator().opts(toClientOptInput()).generate()
        }
    }
}
``` I set up a task to generate my model (only model).
After that I use the model classes in my code.