OpenAPI Generator

OpenAPI Generator

  • Get Started
  • Generators
  • Roadmap
  • Team
  • FAQ
  • Blog

›Getting Started

Getting Started

  • CLI Installation
  • Plugins
  • Online
  • Usage

Extending

  • Using Templates
  • Customization
  • Debugging
  • Workflow Integrations

Contributing

  • Guidelines
  • Code of Conduct
  • Building the code
  • Create a New Generator

About

  • Roadmap
  • Migrating from Swagger Codegen
  • Swagger Codegen Fork: Q&A

Releases

  • Release Summary
  • Release Notes: 3.0.0

API

  • Generators List

Plugins

Maven

A Maven plugin to support the OpenAPI generator project

Example

Add to your build->plugins section (default phase is generate-sources phase)

<plugin>
    <groupId>org.openapitools</groupId>
    <artifactId>openapi-generator-maven-plugin</artifactId>
    <version>3.3.4</version>
    <executions>
        <execution>
            <goals>
                <goal>generate</goal>
            </goals>
            <configuration>
                <inputSpec>${project.basedir}/src/main/resources/api.yaml</inputSpec>
                <generatorName>java</generatorName>
                <configOptions>
                   <sourceFolder>src/gen/java/main</sourceFolder>
                </configOptions>
            </configuration>
        </execution>
    </executions>
</plugin>

Followed by:

mvn clean compile

For full details of all options, see the plugin README.

Gradle

This gradle plugin offers a declarative DSL via extensions (these are Gradle project extensions). These map almost fully 1:1 with the options you’d pass to the CLI or Maven plugin. The plugin maps the extensions to a task of the same name to provide a clean API. If you’re interested in the extension/task mapping concept from a high-level, you can check out Gradle’s docs.

To include in your project, add the following to build.gradle:

buildscript {
  repositories {
    mavenLocal()
    mavenCentral()
  }
  dependencies {
    classpath "org.openapitools:openapi-generator-gradle-plugin:3.3.4"
  }
}

apply plugin: 'org.openapi.generator'

This gives access to the following tasks:

TaskDescription
openApiGenerateGenerate code via Open API Tools Generator for Open API 2.0 or 3.x specification documents.
openApiGeneratorsLists generators available via Open API Generators.
openApiMetaGenerates a new generator to be consumed via Open API Generator.
openApiValidateValidates an Open API 2.0 or 3.x specification document.

The plugin implements the above tasks as project extensions of the same name. If you’d like to declare these tasks as dependencies to other tasks (using dependsOn), you’ll need a task reference. e.g.:

compileJava.dependsOn tasks.openApiGenerate

For full details of all options, see the plugin README.

Example

An example task for generating a kotlin client:

openApiGenerate {
    generatorName = "kotlin"
    inputSpec = "$rootDir/specs/petstore-v3.0.yaml".toString()
    outputDir = "$buildDir/generated".toString()
    apiPackage = "org.openapi.example.api"
    invokerPackage = "org.openapi.example.invoker"
    modelPackage = "org.openapi.example.model"
    modelFilesConstrainedTo = [
            "Error"
    ]
    configOptions = [
        dateLibrary: "java8"
    ]
}
Last updated on 2019-3-14
← CLI InstallationOnline →
  • Maven
    • Example
  • Gradle
    • Example
OpenAPI Generator
Docs
Customizing GeneratorsWorkflow Integrations
Community
User ShowcaseStack OverflowChat RoomTwitter
More
BlogGitHub RepoStar
Copyright © 2019 OpenAPI-Generator Contributors (https://openapi-generator.tech). (Both "OpenAPI Tools" (https://OpenAPITools.org) and "OpenAPI Generator" are not affiliated with OpenAPI Initiative (OAI))