A not yet feature complete client generator.
Features:
- generates 100% Kotlin multiplatform code
- does not generate any useless classes, tries to be as clean as possible
- supports OpenAPI object inheritance (
allOf
)
This is a personal project for my own use cases, however if you think it is useful for you too, you can use it as a library or via the Gradle plugin:
Gradle plugin:
plugins {
id("net.axay.openapigenerator") version "$version"
}
or as a Library:
dependencies {
implementation("net.axay:openapigenerator:$version")
}
Both are available on mavenCentral()
, and the Gradle plugin is also available on the gradlePluginPortal()
.
Gradle plugin
Example for how to register a generation task:
tasks {
register<OpenApiGenerateTask>("generateFromYourSpec") {
specUrl.set("https://urltoyourspec.json") // you can also use 'specFile'
outputDirectory.set(file("src/commonMain/kotlin/"))
packageName.set("your.package.name")
// optionally: deleteOldOutput.set(true)
// this requires extra care, because it recursively deletes the output directory
}
}
All properties for the OpenApiGenerateTask
can be
found here.
Library
Have a look at how the Gradle plugin uses the library.
If you modify this project, please respect the AGPL-3.0 License.