カテゴリ: Micronaut 更新日: 2026/01/11

MicronautのAPIドキュメント生成方法!OpenAPI/Swagger連携の基礎

MicronautのAPIドキュメント生成方法!OpenAPI/Swagger連携の基礎
MicronautのAPIドキュメント生成方法!OpenAPI/Swagger連携の基礎

先生と生徒の会話形式で理解しよう

生徒

「先生、Micronautで作ったAPIの仕様書を自動で作る方法はありますか?」

先生

「MicronautではOpenAPIとSwaggerを使って、簡単にAPIドキュメントを生成することができます。」

生徒

「OpenAPIとSwaggerの違いって何ですか?」

先生

「OpenAPIはAPIの仕様を記述するための標準フォーマットで、Swaggerはその仕様を基にドキュメントを表示したり操作するツールです。」

生徒

「なるほど。実際にMicronautで設定する方法を教えてください。」

先生

「では、Gradle依存関係の追加から、コントローラに注釈を付けてドキュメントを生成する手順を見ていきましょう。」

1. MicronautでOpenAPI/Swaggerを利用する準備

1. MicronautでOpenAPI/Swaggerを利用する準備
1. MicronautでOpenAPI/Swaggerを利用する準備

MicronautでAPIドキュメントを生成するには、まずGradleプロジェクトに必要な依存関係を追加します。MicronautのOpenAPIモジュールを追加することで、自動的にAPI仕様書を生成できます。


dependencies {
    implementation("io.micronaut.openapi:micronaut-openapi")
    annotationProcessor("io.micronaut.openapi:micronaut-openapi")
}

依存関係を追加したら、application.ymlでOpenAPIの基本設定を行います。APIのタイトル、バージョン、説明などを設定しておくと、生成されるSwagger UIに反映されます。


micronaut:
  application:
    name: sample-api
  openapi:
    enabled: true
    title: "Sample API"
    version: "1.0.0"
    description: "Micronautで作成したサンプルAPI"

2. コントローラに注釈を追加してドキュメント化

2. コントローラに注釈を追加してドキュメント化
2. コントローラに注釈を追加してドキュメント化

Micronautのコントローラに@Controller@Get@Postといった注釈を付けると、OpenAPIが自動でエンドポイント情報を収集します。さらに@Operation@Parameterを使うと、より詳細な説明を付与できます。


import io.micronaut.http.annotation.*;
import io.swagger.v3.oas.annotations.*;

@Controller("/users")
public class UserController {

    @Get("/")
    @Operation(summary = "全ユーザーを取得するAPI", description = "ユーザー一覧をJSON形式で返します")
    public List<String> listUsers() {
        return List.of("Alice", "Bob", "Charlie");
    }
}

このように注釈を付けるだけで、Micronautはビルド時にOpenAPI仕様書を自動生成し、Swagger UIで確認できるようになります。

3. Swagger UIの有効化

3. Swagger UIの有効化
3. Swagger UIの有効化

Micronautではmicronaut-openapimicronaut-swagger-uiを組み合わせることで、ブラウザ上でAPIを確認できるSwagger UIを簡単に利用できます。


dependencies {
    implementation("io.micronaut.openapi:micronaut-openapi")
    implementation("io.micronaut.openapi:micronaut-swagger-ui")
}

アプリケーションを起動すると、デフォルトで/swagger-uiにアクセスすることで、APIドキュメントを確認可能です。これにより、フロントエンド開発者やテスターが簡単にAPIを理解でき、開発効率が向上します。

4. ビルド時にOpenAPI仕様書を生成する

4. ビルド時にOpenAPI仕様書を生成する
4. ビルド時にOpenAPI仕様書を生成する

Micronautではビルド時にOpenAPI仕様書を自動生成します。Gradleを利用している場合、./gradlew assemble./gradlew buildを実行すると、build/classes/java/main/META-INF/swagger配下にopenapi.jsonが生成されます。

このファイルをCI/CDで利用したり、Swagger UIに読み込ませることで、常に最新のAPIドキュメントを提供できます。

5. サンプルプロジェクトで確認する

5. サンプルプロジェクトで確認する
5. サンプルプロジェクトで確認する

簡単なサンプルプロジェクトを作成して、OpenAPIとSwagger UIを試してみましょう。


import io.micronaut.runtime.Micronaut;

public class Application {
    public static void main(String[] args) {
        Micronaut.run(Application.class, args);
        System.out.println("Micronaut APIサーバーが起動しました。Swagger UIで確認可能です。");
    }
}

Micronaut APIサーバーが起動しました。Swagger UIで確認可能です。

上記のサンプルを起動し、http://localhost:8080/swagger-uiにアクセスすると、ユーザー取得APIの仕様が表示されます。これにより、開発中のAPIを簡単に確認したり、フロントエンドやテストチームに共有できます。

6. APIドキュメント生成のポイントと注意点

6. APIドキュメント生成のポイントと注意点
6. APIドキュメント生成のポイントと注意点

MicronautでOpenAPI/Swaggerを活用する際のポイントは以下の通りです。

  • コントローラやメソッドに適切な注釈を付けることで、自動生成のドキュメントの精度が向上します。
  • APIパラメータやレスポンスに@Parameter@ApiResponseを使用して詳細を記述すると、Swagger UIに反映されます。
  • ビルドキャッシュやインクリメンタルビルドを利用して、OpenAPI生成時間を短縮できます。
  • Swagger UIは開発環境向けに利用し、本番環境では必要に応じて制御することが推奨されます。

これらを理解しておくと、MicronautプロジェクトのAPI仕様書を効率的に作成でき、チーム開発やドキュメント管理がスムーズになります。

関連記事:
カテゴリの一覧へ
新着記事
New1
Quarkus
Quarkusのフォーム認証を基礎から解説!初心者向けセキュリティ入門ガイド
New2
Micronaut
MicronautプロジェクトをGradleで管理する基礎!build.gradleの役割を解説
New3
Micronaut
LinuxでMicronautをセットアップする方法!パッケージ管理とGradle連携
New4
Java
Javaのswitch文を徹底解説!case・defaultの書き方と実例まとめ
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkusプロジェクト構成の基本を完全解説!初心者でも迷わない「どこに何を書くか」ガイド
No.2
Java&Spring記事人気No2
Quarkus
Quarkusのセキュリティ基礎を初心者でもわかるように解説!
No.3
Java&Spring記事人気No3
Quarkus
QuarkusとMicronautとHelidonを徹底比較!軽量Javaフレームワークの違いを初心者向けに解説
No.4
Java&Spring記事人気No4
Quarkus
Quarkusの開発環境構築で躓きやすいポイントを完全解説!初心者でも安心して始めるためのチェックガイド
No.5
Java&Spring記事人気No5
Micronaut
MicronautとSpring Bootの違いとは?アーキテクチャ比較で速さの秘密を理解する
No.6
Java&Spring記事人気No6
Quarkus
Quarkusでマイクロサービス開発が加速する理由を徹底解説!Java初心者でも分かるクラウドネイティブ
No.7
Java&Spring記事人気No7
Micronaut
Micronautのアプリケーション起動が速い理由を初心者向けに解説
No.8
Java&Spring記事人気No8
Micronaut
MicronautのAOPが高速な理由とは?コンパイル時AOPの仕組みを初心者向けに徹底解説