5.2. 使用 Maven 插件下载 schema 和 API 工件

您可以使用 Maven 插件从 Service Registry 下载工件。例如,这在从注册的 schema 生成代码时通常很有用。

先决条件

  • Service Registry 在您的环境中安装并运行

流程

更新您的 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>download</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> 5
                  <file>${project.build.directory}/classes/record.avsc</file>
                  <overwrite>true</overwrite>
              </artifact>
              <artifact>
                  <groupId>TestGroup</groupId>
                  <artifactId>ExampleAPI</artifactId>
                  <version>1</version>
                  <file>${project.build.directory}/classes/example.graphql</file>
                  <overwrite>true</overwrite>
              </artifact>
          </artifacts>
      </configuration>
    </execution>
  </executions>
</plugin>
  1. download 指定为执行目标。
  2. 使用 ../apis/registry/v2 端点指定 Service Registry URL。
  3. 如果需要身份验证,您可以指定身份验证服务器和客户端凭证。
  4. 指定 Service Registry 工件组 ID。如果您不想使用唯一组,您可以指定 default 组。
  5. 您可以使用工件 ID 将多个工件下载到指定目录中。