4.7. Eclipse MicroProfile OpenAPI アプリケーションの開発
4.7.1. Eclipse MicroProfile OpenAPI の有効化 リンクのコピーリンクがクリップボードにコピーされました!
microprofile-openapi-smallrye
サブシステムは、standalone-microprofile.xml
設定で提供されます。しかし、JBoss EAP XP はデフォルトで standalone.xml
を使用します。使用するには、standalone.xml
にサブシステムを含める必要があります。
または、Updating standalone configurations with Eclipse MicroProfile subsystems and extensions の手順に従い、standalone.xml
設定ファイルを更新できます。
手順
JBoss EAP で MicroProfile OpenAPI smallrye 拡張を有効にします。
/extension=org.wildfly.extension.microprofile.openapi-smallrye:add()
/extension=org.wildfly.extension.microprofile.openapi-smallrye:add()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の管理コマンドを使用して
microprofile-openapi-smallrye
サブシステムを有効にします。/subsystem=microprofile-openapi-smallrye:add()
/subsystem=microprofile-openapi-smallrye:add()
Copy to Clipboard Copied! Toggle word wrap Toggle overflow サーバーをリロードします。
reload
reload
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
microprofile-openapi-smallrye
サブシステムが有効化されます。
4.7.2. Eclipse MicroProfile OpenAPI の Maven プロジェクトの設定 リンクのコピーリンクがクリップボードにコピーされました!
Maven プロジェクトを作成し、Eclipse MicroProfile OpenAPI アプリケーションを作成するための依存関係を設定します。
要件
- Maven がインストールされている。
JBoss EAP Maven リポジトリーが設定されている。
JBoss EAP Maven リポジトリーの設定に関する詳細は、POM ファイルを使用した JBoss EAP Maven リポジトリーの設定 てください。
手順
プロジェクトを初期化します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow このコマンドは、プロジェクトのディレクトリー構造と
pom.xml
設定ファイルを作成します。pom.xml
設定ファイルを編集して以下を追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
pom.xml
設定ファイルおよびディレクトリー構造を使用してアプリケーションを作成します。
4.7.3. Eclipse MicroProfile OpenAPI アプリケーションの作成 リンクのコピーリンクがクリップボードにコピーされました!
OpenAPI v3 ドキュメントを返すアプリケーションを作成します。
要件
- Maven プロジェクトは、Eclipse MicroProfile OpenAPI アプリケーションを作成するために設定されます。
手順
クラスファイルを保存するディレクトリーを作成します。
mkdir -p APPLICATION_ROOT/src/main/java/com/example/microprofile/openapi/
$ mkdir -p APPLICATION_ROOT/src/main/java/com/example/microprofile/openapi/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow APPLICATION_ROOT は、アプリケーションの
pom.xml
設定ファイルが含まれるディレクトリーです。新しいディレクトリーに移動します。
cd APPLICATION_ROOT/src/main/java/com/example/microprofile/openapi/
$ cd APPLICATION_ROOT/src/main/java/com/example/microprofile/openapi/
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の手順のクラスファイルすべては、このディレクトリーに作成する必要があります。
以下の内容でクラスファイル
InventoryApplication.java
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow このクラスはアプリケーションの REST エンドポイントとして機能します。
以下の内容でクラスファイル
Fruit.java
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の内容でクラスファイル
FruitResource.java
を作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションの root ディレクトリーに移動します。
cd APPLICATION_ROOT
$ cd APPLICATION_ROOT
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の Maven コマンドを使用してアプリケーションをビルドおよびデプロイします。
mvn wildfly:deploy
$ mvn wildfly:deploy
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションをテストします。
curl
を使用して、サンプルアプリケーションの OpenAPI ドキュメントにアクセスします。curl http://localhost:8080/openapi
$ curl http://localhost:8080/openapi
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の出力が返されます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
関連情報
- MicroProfile SmallRye OpenAPI で定義されたアノテーションの一覧は、MicroProfile OpenAPI annotations を参照してください。
4.7.4. 静的 OpenAPI ドキュメントを提供するよう JBoss EAP を設定 リンクのコピーリンクがクリップボードにコピーされました!
ホストの REST サービスを記述する静的 OpenAPI ドキュメントに対応するように JBoss EAP を設定します。
JBoss EAP が静的 OpenAPI ドキュメントを提供するよう設定されている場合、静的 OpenAPI ドキュメントは JAX-RS および MicroProfile OpenAPI アノテーションの前に処理されます。
実稼働環境では、静的ドキュメントを提供するときにアノテーション処理を無効にします。アノテーション処理を無効にすると、イミュータブルでバージョン付けできない API コントラクトがクライアントで利用可能になります。
手順
アプリケーションソースツリーにディレクトリーを作成します。
mkdir APPLICATION_ROOT/src/main/webapp/META-INF
$ mkdir APPLICATION_ROOT/src/main/webapp/META-INF
Copy to Clipboard Copied! Toggle word wrap Toggle overflow APPLICATION_ROOT は、アプリケーションの
pom.xml
設定ファイルが含まれるディレクトリーです。OpenAPI エンドポイントをクエリーし、出力をファイルにリダイレクトします。
curl http://localhost:8080/openapi?format=JSON > src/main/webapp/META-INF/openapi.json
$ curl http://localhost:8080/openapi?format=JSON > src/main/webapp/META-INF/openapi.json
Copy to Clipboard Copied! Toggle word wrap Toggle overflow デフォルトでは、エンドポイントは YAML ドキュメントを提供し、
format=JSON
は JSON ドキュメントを返すことを指定します。OpenAPI ドキュメントモデルの処理時にアノテーションのスキャンを省略するようにアプリケーションを設定します。
echo "mp.openapi.scan.disable=true" > APPLICATION_ROOT/src/main/webapp/META-INF/microprofile-config.properties
$ echo "mp.openapi.scan.disable=true" > APPLICATION_ROOT/src/main/webapp/META-INF/microprofile-config.properties
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションをリビルドします。
mvn clean install
$ mvn clean install
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下の管理 CLI コマンドを使用してアプリケーションを再度デプロイします。
アプリケーションのアンデプロイ:
undeploy microprofile-openapi.war
undeploy microprofile-openapi.war
Copy to Clipboard Copied! Toggle word wrap Toggle overflow アプリケーションのデプロイ:
deploy APPLICATION_ROOT/target/microprofile-openapi.war
deploy APPLICATION_ROOT/target/microprofile-openapi.war
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
JBoss EAP は OpenAPI エンドポイントで静的 OpenAPI ドキュメントを提供するようになりました。