OpenAPI Generatorで、OpenAPI YAMLファイルからJavaコードを自動生成する
OpenAPI Generatorを使用して、OpenAPI YAMLファイルからJavaコードを自動生成するためにGradleプラグインを利用すると便利。
以下に手順を示します。
1. Gradleプロジェクトのセットアップ
まず、Gradleプロジェクトを設定します。
build.gradle
ファイルに必要なプラグインと依存関係を追加します。
plugins {
id 'java'
id 'org.openapi.generator' version '6.0.1'
}
repositories {
mavenCentral()
}
dependencies {
implementation 'io.swagger:swagger-annotations:1.6.4'
// 必要に応じて他の依存関係を追加
}
2. OpenAPI Generatorタスクの設定
次に、OpenAPI Generatorタスクを設定します。build.gradle
にタスクの定義を追加します。
task generateOpenApiSpringCode(type: org.openapitools.generator.gradle.plugin.tasks.GenerateTask){
generatorName = "spring"
inputSpec = "$rootDir/src/main/resources/api.yaml" // OpenAPI YAMLファイルのパス
outputDir = "$buildDir/generated" // 出力ディレクトリ
apiPackage = "com.example.api.controller" // 生成されるAPIコードのパッケージ
modelPackage = "com.example.api.model" // 生成されるモデルコードのパッケージ
configOptions = [
dateLibrary: "java8" // Java 8のDateライブラリを使用(不要なら削除)
interfaceOnly: "true" // インターフェースのみを生成(不要なら削除)
]
}
generatorName
は、OpenAPI Generatorが生成するコードの言語やフレームワークを指定するためのパラメータで、一般的に、使用する言語やフレームワークを設定します。
例えば、generatorName
に指定する主な値には以下のようなものがあります:
"java"
: Java言語のクライアントおよびサーバーコード"spring"
: Spring Bootのサーバーコード"kotlin"
: Kotlin言語のクライアントおよびサーバーコード"typescript-fetch"
: TypeScript言語のFetchクライアントコード"python"
: Python言語のクライアントおよびサーバーコード
3. YAMLファイルの配置
プロジェクト内の適切なディレクトリにOpenAPI YAMLファイルを配置します。
例えば、src/main/resources/api.yaml
に配置します。
4. コード生成の実行
次に、Gradleタスクを実行してコードを生成します。
./gradlew openApiGenerate
これで、指定したディレクトリにJavaコードが自動生成されます。
5. 生成されたコードの使用
生成されたコードをプロジェクトに組み込み、適切に使用します。
生成されたコードは、$buildDir/generated
ディレクトリに出力されるので、IDEのソースフォルダとして追加することができます。
プレアデス(Eclipse)での操作
プレアデスを使用する場合、同様の手順に従います。
プレアデス内でプロジェクトを作成し、build.gradle
ファイルを編集し、タスクを設定します。
YAMLファイルを指定したディレクトリに配置し、Gradleタスクを実行します。
- プロジェクト作成: プレアデスで新しいGradleプロジェクトを作成します。
- build.gradleファイル編集: 上記の設定を
build.gradle
ファイルに追加します。 - YAMLファイル配置: OpenAPI YAMLファイルを
src/main/resources
ディレクトリに配置します。 - タスク実行: プレアデスのターミナルやGradleタスクビューから
openApiGenerate
タスクを実行します。
これで、自動生成されたJavaコードをプロジェクト内で利用できるようになります。