第5章 Maven プラグインを使用した Service Registry コンテンツの管理
クライアントアプリケーションを開発する場合、Service Registry Maven プラグインを使用して、Service Registry に保存されているスキーマと API アーティファクトを管理できます。
前提条件
- Service Registry が環境にインストールされ、実行している。
- Apache Maven が環境にインストールおよび設定されている。
5.1. Maven プラグインを使用したスキーマおよび API アーティファクトの追加
Maven プラグインの最も一般的な使用例は、クライアントアプリケーションのビルド中に、アーティファクトを追加することです。これは、register
実行目標を使用して実現できます。
前提条件
- クライアントアプリケーションの Maven プロジェクトを作成している。詳細は、Apache Maven のドキュメント を参照してください。
手順
Maven
pom.xml
ファイルを更新して、apicurio-registry-maven-plugin
を使用してアーティファクトを登録します。以下の例は、Apache Avro および GraphQL スキーマの登録を示しています。<plugin> <groupId>io.apicurio</groupId> <artifactId>apicurio-registry-maven-plugin</artifactId> <version>${apicurio.version}</version> <executions> <execution> <phase>generate-sources</phase> <goals> <goal>register</goal> 1 </goals> <configuration> <registryUrl>MY-REGISTRY-URL/apis/registry/v2</registryUrl> 2 <authServerUrl>MY-AUTH-SERVER</authServerUrl> <clientId>MY-CLIENT-ID</clientId> <clientSecret>MY-CLIENT-SECRET</clientSecret> 3 <clientScope>MY-CLIENT-SCOPE</clientScope> <artifacts> <artifact> <groupId>TestGroup</groupId> 4 <artifactId>FullNameRecord</artifactId> <file>${project.basedir}/src/main/resources/schemas/record.avsc</file> <ifExists>FAIL</ifExists> </artifact> <artifact> <groupId>TestGroup</groupId> <artifactId>ExampleAPI</artifactId> 5 <type>GRAPHQL</type> <file>${project.basedir}/src/main/resources/apis/example.graphql</file> <ifExists>RETURN_OR_UPDATE</ifExists> <canonicalize>true</canonicalize> </artifact> </artifacts> </configuration> </execution> </executions> </plugin>
- 1
register
を実行ゴールとして指定し、スキーマアーティファクトを Service Registry にアップロードします。- 2
../apis/registry/v2
エンドポイントで Service Registry URL を指定します。- 3
- 認証が必要な場合は、認証サーバーおよびクライアントの認証情報を指定できます。
- 4
- Service Registry アーティファクトグループ ID を指定します。一意のグループ ID を使用しない場合は、
default
のグループを指定できます。 - 5
- 指定したグループ ID、アーティファクト ID、および場所を使用して複数のアーティファクトを登録できます。
-
たとえば、
mvn package
コマンドを使用して、Maven プロジェクトをビルドします。
関連情報
- Apache Maven の使用に関する詳細は、Apache Maven のドキュメント を参照してください。
- Service Registry Maven プラグインを使用したオープンソースの例については、Apicurio Registry のデモンストレーションの例 を参照してください。