カテゴリ: Micronaut 更新日: 2026/03/14

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の設定ファイル(build.gradle)に、専用のライブラリ(依存関係)を追加する必要があります。

プログラミングが初めての方へ:「依存関係(dependencies)」とは、アプリを作るために必要な「道具箱」を外部から持ってくる設定のことです。ここでは、APIの仕様書を自動で作ってくれる「OpenAPI」という道具を導入します。


dependencies {
    // OpenAPIの機能を利用するためのライブラリ
    implementation("io.micronaut.openapi:micronaut-openapi")
    // コンパイル(プログラムの変換)時にドキュメントを自動生成するプロセッサ
    annotationProcessor("io.micronaut.openapi:micronaut-openapi")
}

次に、アプリの基本情報を定義するapplication.ymlという設定ファイルを編集します。ここに記述した内容が、そのままWeb上で見る仕様書のタイトルや説明文として表示されます。

例えば、あなたが「名簿管理システム」を作っているなら、タイトルを「ユーザー管理API」とすることで、誰が見ても何のためのプログラムかが一目でわかるようになります。


micronaut:
  application:
    name: sample-api
  openapi:
    # OpenAPI機能を有効にする設定
    enabled: true
    # ブラウザで表示される仕様書のタイトル
    title: "はじめてのSample API"
    # アプリのバージョン管理(最初は1.0.0でOK)
    version: "1.0.0"
    # このAPIが何をするものかという簡単な説明
    description: "Micronautで作成した、初心者向けの学習用サンプルAPIです。"

これで、APIドキュメントを生成するための「土台」が完成しました。これらの設定を行うだけで、複雑なコードを自分で書かなくても、Micronautが裏側でドキュメントの生成準備を整えてくれます。

2. コントローラに注釈(アノテーション)を追加してドキュメント化

2. コントローラに注釈(アノテーション)を追加してドキュメント化
2. コントローラに注釈(アノテーション)を追加してドキュメント化

MicronautでAPIを作成する際、ソースコードに「これはWebの入り口ですよ」という印を付けるだけで、自動的に説明書(API仕様書)を作成できます。この印のことをJavaでは注釈(アノテーション)と呼びます。

例えば、@Controllerはクラス全体がWebの受付窓口であることを示し、@Get@Postは「どのような操作(取得や保存)を行うか」を指定する役割を持っています。これらに加えて、OpenAPI用の注釈を使うことで、プログラミングに詳しくない人が見ても一目で使い方がわかるドキュメントが出来上がります。


import io.micronaut.http.annotation.*;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import java.util.List;

@Controller("/users") // 「/users」というURLでアクセスを受け付ける設定
public class UserController {

    @Get("/") // データを取得する(GET)ための窓口
    @Operation(
        summary = "登録されている全ユーザーの名前を取得",
        description = "システムに登録されているユーザーを一覧形式で取得します。引数は不要です。"
    )
    @ApiResponse(responseCode = "200", description = "正常にリストを取得できました")
    public List<String> listUsers() {
        // 本来はデータベースから取得しますが、ここでは簡単な例として名前を返します
        return List.of("アリス", "ボブ", "チャーリー");
    }
}

上記のコードでは、summary(要約)やdescription(詳細説明)を記述しています。これにより、ビルド(プログラムの構築)を行うだけで、Micronautが背後で「Swagger UI」という視覚的なツールと連携し、ブラウザ上でボタンを押すだけでAPIをテストできる環境まで整えてくれるのです。

難しい設定ファイルを手書きする必要はなく、Javaのコード内に「メモ」を残す感覚で進められるのが、MicronautとOpenAPIを組み合わせる最大のメリットです。

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
Micronaut
開発環境構築でつまずきやすいポイントまとめ!Micronautのエラーと対処法一覧
New2
Quarkus
QuarkusとGraalVMの進化を徹底解説!Javaネイティブイメージが切り拓く次世代開発の将来展望
New3
Micronaut
Micronaut + IntelliJ のプラグイン活用術!自動補完・テンプレート便利機能紹介
New4
Quarkus
QuarkusとGitHub Codespacesでクラウド開発を始める方法を完全解説!初心者でも迷わない開発環境構築ガイド
人気記事
No.1
Java&Spring記事人気No1
Quarkus
Quarkus拡張開発を徹底解説!仕組みから自作エクステンションの作り方まで
No.2
Java&Spring記事人気No2
Java
Javaの配列とは?基本の使い方・宣言・初期化を初心者向けにわかりやすく解説
No.3
Java&Spring記事人気No3
Java
Java ArrayListの使い方完全ガイド|追加・削除・取得・検索の基本操作
No.4
Java&Spring記事人気No4
Micronaut
MicronautのHTTPサーバー性能を最大化!初心者でもできるパフォーマンスチューニング
No.5
Java&Spring記事人気No5
Java
Javaの配列検索を完全攻略!値の探し方や多次元配列の条件一致を解説
No.6
Java&Spring記事人気No6
Java
Javaの型変換(キャスト)を徹底解説!暗黙的・明示的変換の違いを整理
No.7
Java&Spring記事人気No7
Java
Javaのコンパイルと実行の流れを解説!JVM・JDK・JREの違いも初心者向けに整理
No.8
Java&Spring記事人気No8
Quarkus
Quarkus拡張開発をマスター!ビルドプロセスの仕組みと内部構造を徹底解説