第 5 章 使用 Maven 插件管理 Service Registry 内容
您可以使用 Service Registry Maven 插件在开发客户端应用程序时管理存储在 Service Registry 中的 schema 和 API 工件:
先决条件
- Service Registry 已在您的环境中安装并运行。
- 在您的环境中安装并配置 Apache Maven。
5.1. 使用 Maven 插件添加 schema 和 API 工件
Maven 插件的最常见用例是在客户端应用程序构建期间添加工件。您可以使用 寄存器
执行目标来完成此操作。
先决条件
- 您已为您的客户端应用程序创建了 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 <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>
-
指定
register
作为将架构工件上传到 Service Registry 的执行目标。 -
使用
../apis/registry/v2
端点指定 Service Registry URL。 - 如果需要身份验证,您可以指定您的身份验证服务器和客户端凭证。
-
指定 Service Registry 工件组 ID。如果您不想使用唯一组 ID,您可以指定
默认组
。 - 您可以使用指定的组 ID、工件 ID 和位置注册多个工件。
-
指定
-
使用
mvn package
命令构建 Maven 项目。
其他资源
- 有关使用 Apache Maven 的详情,请查看 Apache Maven 文档。
- 有关使用 Service Registry Maven 插件的开源示例,请参阅 Apicurio Registry 演示示例。