ホームページ >Java >&#&チュートリアル >Spring API Gateway と Micronaut を使用した API ゲートウェイからのマイクロサービスの集約 Swagger UI
このガイドでは、マイクロサービス API ドキュメントを合理化するために、Swagger 3 (OpenAPI) と Spring Cloud Gateway を統合する方法を示します。 Java 21、Spring Boot 3.2、Micronaut を活用して、堅牢でユーザーフレンドリーなソリューションを作成します。
Swagger/OpenAPI を選択する理由
現在 OpenAPI 仕様 (OAS) となっている Swagger は、主要な API ドキュメント標準です。その利点は次のとおりです:
Spring Cloud Gateway: 財団
Spring Framework 5、Spring Boot 2、Project Reactor 上に構築された Spring Cloud Gateway は、マイクロサービスへのリクエストのルーティングとフィルター処理の中心的なエントリ ポイントとして機能します。
Spring Cloud Gateway の機能:
以下の図は、Spring Cloud Gateway の動作を示しています。
クライアントリクエストは、定義されたルートに対して評価されます。 一致するリクエストはゲートウェイ Web ハンドラーによって処理され、リクエスト プロキシの前後にプレフィルターとポストフィルターが実行されます。
アプリケーションの構築:
前提条件:
段階的な実装:
ステップ 1: Micronaut アプリケーション (ジョブ、特典、タグ サービス) を作成する
Micronaut Launcher ([ランチャーへのリンク]) を使用して、3 つの Micronaut アプリケーション、job-service
、perk-service
、tag-service
を作成します。 機能として Java または Kotlin、最新の安定した Micronaut バージョン、Swagger UI、および OpenAPI を選択します。 ビルド ツールとして Gradle または Maven を使用します。 各サービスには、アクセス可能な Swagger UI があります (例: http://localhost:8081/swagger-ui/index.html
の場合は job-service
)。 CLI を使用することもできます:
<code class="language-bash">mn create-app --build=gradle_kotlin --jdk=21 --lang=java --test=junit --features=openapi,swagger-ui dev.job.job</code>
(perk-service
と tag-service
について繰り返し、パッケージ名を適宜調整します)。
ステップ 2: Spring Boot API ゲートウェイを作成する
Spring Initializr ([Spring Initializr へのリンク]) を使用して Spring Boot プロジェクトを生成します。 次の依存関係を含めます: Spring Cloud Gateway、Spring Boot Actuator、Spring Web。
ステップ 3: Swagger を API ゲートウェイに統合する
必要な Springdoc 依存関係を pom.xml
(Maven) または build.gradle
(Gradle) に追加します。
<code class="language-gradle">dependencies { implementation("org.springframework.cloud:spring-cloud-starter-gateway") implementation("org.springdoc:springdoc-openapi-starter-webmvc-api:2.8.3") implementation("org.springdoc:springdoc-openapi-starter-webflux-ui:2.8.3") }</code>
Swagger UI を有効にするように application.yml
を構成し、各マイクロサービスの Swagger YAML ファイルの URL を指定します。
<code class="language-yaml">springdoc: api-docs: enabled: true swagger-ui: enabled: true path: /swagger-ui.html config-url: /v3/api-docs/swagger-config urls: - name: Job Service url: http://localhost:8081/swagger/job-service-0.0.yml - name: Perk Service url: http://localhost:8082/swagger/perk-0.0.yml - name: Tag Service url: http://localhost:8083/swagger/tag-0.0.yml</code>
application.yml
:
<code class="language-yaml">server: port: 8080 spring: application: name: web-api-gateway</code>
ステップ 4: アプリケーションを実行する
4 つのアプリケーション (3 つの Micronaut サービスと Spring Boot Gateway) をそれぞれ起動します。 ゲートウェイの Swagger UI には、http://localhost:8080/webjars/swagger-ui/index.html
からアクセスできます。
結論:
この組み合わせアプローチにより、強力で十分に文書化されたマイクロサービス アーキテクチャが提供されます。 Spring Cloud Gateway はリクエストを効率的にルーティングし、Swagger は一元化されたインタラクティブな API ドキュメント エクスペリエンスを提供します。 この設定により、開発者の生産性とコラボレーションが大幅に向上します。必ずプレースホルダー URL をマイクロサービスの Swagger YAML ファイルの実際の URL に置き換えてください。
以上がSpring API Gateway と Micronaut を使用した API ゲートウェイからのマイクロサービスの集約 Swagger UIの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。