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コードをプロジェクト内で利用できるようになります。
