1.2. Apicurio Registry 中的模式和 API 工件和组


存储在 Apicurio Registry (如事件架构和 API 设计)中的项目称为 registry 工件。以下显示了简单共享价格应用程序的 JSON 格式的 Apache Avro schema 构件示例:

{
   "type": "record",
   "name": "price",
   "namespace": "com.example",
   "fields": [
       {
           "name": "symbol",
           "type": "string"
       },
       {
           "name": "price",
           "type": "string"
       }
   ]
}
Copy to Clipboard Toggle word wrap

当架构或 API 设计作为 registry 中的工件添加时,客户端应用可以使用该架构或 API 设计验证客户端消息在运行时是否符合正确的数据结构。

Apicurio Registry 为标准事件 schema 和 API 规格支持广泛的消息有效负载格式。例如,支持的格式包括 Apache Avro、Google Protobuf、GraphQL、AsyncAPI、OpenAPI 等。如需了解更多详细信息,请参阅 第 9 章 Apicurio Registry artifact 引用

模式和 API 组

工件组 是可选的 schema 或 API 工件集合。每个组包含一组逻辑相关的模式或 API 设计,通常由单个实体管理,属于特定应用程序或组织。

您可以在添加 schema 和 API 设计时创建可选的工件组,以将其组织到 Apicurio Registry 中。例如,您可以创建组来匹配您的 开发和生产 应用程序环境,或您的 销售 和工程 组织。

模式和 API 组可以包含多个工件类型。例如,您可以有 Protobuf、Avro、JSON Schema、OpenAPI 和 AsyncAPI 架构以及 API 工件在同一组中。

您可以使用 Apicurio Registry Web 控制台、核心 REST API、Maven 插件或 Java 客户端应用程序创建架构和 API 工件和可选组。以下简单示例显示了使用 REST API:

$ curl -X POST -H "Content-type: application/json; artifactType=AVRO" \
  -H "X-Registry-ArtifactId: share-price" \
  --data '{"type":"record","name":"price","namespace":"com.example", \
   "fields":[{"name":"symbol","type":"string"},{"name":"price","type":"string"}]}' \
  https://my-registry.example.com/apis/registry/v2/groups/my-group/artifacts
Copy to Clipboard Toggle word wrap

本例在名为 my-group 的工件组中添加了一个 Avro 模式,其工件 ID 为 share-price

注意

在使用 Apicurio Registry Web 控制台时,指定组是可选的,其中会自动创建默认组。当使用 v2 REST API 或 Maven 插件时,如果您不想创建唯一的组,您可以在 API 路径中指定 default 组。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat