#F5F5F5

使用 GraphQL API 大规模提供结构化内容

#F5F5F5

借助 GraphQL API 和 Adobe Experience Manager Sites 加速全渠道内容投放

Adobe Experience Manager Sites 通过原生 GraphQL API 集成赋能开发人员,旨在简化跨网页、应用程序和其他数字渠道的结构化内容投放。此功能使团队能够扩展内容运营,同时满足对动态个性化体验不断增长的需求。

GraphQL API 简化了内容投放

传统的 REST API 常因多次服务器调用或过多数据负载给应用程序造成负担,导致性能下降,开发难度增加。Experience Manager Sites 通过原生 GraphQL API 解决了这一问题,使前端团队能够通过高效的单个请求精准查询所需内容。

作为企业首选的 CMS,Experience Manager Sites 将结构化内容管理与现代投放能力结合在一起。其 GraphQL 集成消除了僵化的端点结构,支持跨网站、应用程序和数字体验的可扩展的高性能内容投放。

Experience Manager Sites GraphQL API 专为当今的组合式架构而设计,可实现更快的页面加载、更敏捷的开发,以及企业所需的灵活性,以精准且大规模地满足不断变化的客户需求。

GraphQL API 集成改善了内容创建

Experience Manager 中的 GraphQL API 旨在公开结构化内容(尤其是内容片段),以实现在任意数字渠道中进行无头投放。作为单个灵活端点,该 API 使客户端应用程序能够在需要时精准获取所需内容。

与传统 REST 方法相比,这种基于图形的现代方法具有明显优势:

  • 效率。 通过单个 API 调用检索复杂嵌套的内容结构,无需再链接多个端点。这简化了开发并加快了页面加载速度。
  • 精度。 开发人员仅查询所需的字段,减少了有效负载大小并提升了性能,在移动网络中优势尤为显著。
  • 灵活性。 GraphQL API 与前端无关,使得团队可以使用任何框架(React、Angular、Vue 等)进行构建,而无需锁定在专有 SDK 中。

GraphQL API 与传统 REST API 的对比

功能

Experience Manager GraphQL API

传统 REST API

端点结构
通常,每个配置对应单个统一的 GraphQL 端点。
每个资源或用例有多个端点。
数据获取
客户端在查询中明确指定所需的字段。
服务器为每个端点定义固定数据结构。
获取过度或获取不足
已避免;精准返回所需数据。
常见问题:获取的数据可能过多或过少。
请求量
在单个请求中检索相关数据(嵌套片段)。
通常需要多次请求相关数据。
缓存(标准请求)
POST 请求通常不会由中介缓存。
GET 请求很容易缓存。
缓存(Experience Manager 实践)
通过持久查询能实现可缓存的 GET 请求。
GET 请求很容易缓存。
API 演变
架构可发展;轻松添加非破坏性字段。
添加字段可能具有破坏性;通常需要版本控制。

Experience Manager Sites 中的关键 GraphQL 功能

GraphQL 与 Experience Manager Sites 的 API 集成具备多项关键功能:

生成 GraphQL 架构

Experience Manager Sites 通过从内容片段模型自动生成 GraphQL 架构,从而简化无头开发,无需手动创建架构。当内容架构师定义或更新模型时,Experience Manager 会立即将这些更改转换为相应端点类型完整的实时 GraphQL 架构。

这种动态架构生成可带来企业级优势:

  • 强类型和早期验证。 架构强制类型可确保结果可预测,并在执行之前找出无效查询,从而节省开发时间并减少错误。
  • 内置内省。 开发人员可查询架构本身,借助 GraphQL 工具实现自动补全、验证和内联文档等功能。
  • 内容驱动的一致性。 架构反映实际的内容结构,充当单一事实来源。作者与开发人员之间的紧密协调简化了协作,并消除了架构偏差。

通过将架构生成自动化,Experience Manager Sites 可加速无头构建,降低维护开销,并弥合结构化内容与可扩展投放之间的差距。

使用 GraphQL 精确查询所需内容

GraphQL 让客户端应用程序来完全掌控内容请求的结构和明确性。在 Experience Manager Sites 中,开发人员可使用 GraphQL 查询从内容片段高效检索结构化内容——根据其应用程序需求定制。关键功能包括:

  • 字段选择。 仅检索所需字段,完全没有多余数据,从而最小化有效负载并提高性能。
  • 目标片段访问。 按路径查询单个内容片段,或按模型类型返回列表。
  • 高级筛选。 通过对字段值应用过滤器来缩小结果范围。
  • 嵌套内容检索。 通过单个查询获取嵌套或链接的内容片段,非常适合复杂的内容关系。
  • 本地化和变体内容。 请求片段的特定变体以提供个性化、区域性或渠道特定的体验。
  • 使用变量的动态查询。 在运行时注入 ID 或搜索词等值,以构建灵活且可重用的查询,而无需重写结构。

借助 Sites 中的 GraphQL,开发人员获得了强大而直观的无头内容访问接口,并且保证了速度、可扩展性和精准度。

安全且可扩展的 GraphQL 端点配置

在 Experience Manager Sites 中,GraphQL 查询将被发送至指定端点,即作为无头内容投放访问点的特定 URL。不同于为不同资源使用多个端点的 REST API,GraphQL 通过每个配置的单个端点集中交互,从而简化开发并提高可维护性。

为确保适当的治理,Sites 中的 GraphQL 端点必须由管理员显式配置、启用和发布。这种方式能够在公开结构化内容之前加强安全性和控制力。Sites 支持两种类型的 GraphQL 端点:

  • 全局端点。 授予访问全局配置中定义的内容片段模型,以及任何特定于站点的配置中的模型。非常适合跨项目重用的共享内容结构。
  • 特定于站点的端点。 此端点与特定站点或项目配置绑定,将访问权限限制为仅该配置的模型以及全局范围内的模型,可提供明确的隔离并最大限度减少跨项目暴露风险。

凭借这种灵活的设置,企业能够精准管理跨品牌、区域或业务部门的内容投放,在不牺牲安全性或清晰度的前提下确保可扩展性。

导航到 GraphQL 端点

常见问题解答

GraphQL API 和 REST API 有何区别?
GraphQL 是一种用于 API 的现代查询语言,允许客户端从单个端点精准请求所需数据,这不同于依赖多个端点和固定数据结构的 REST API。这使得 GraphQL 更加高效灵活,非常适合动态且内容丰富的应用程序。

了解有关 GraphQL API 的更多信息

Content as a Service v3 - experience-manager-sites - Wednesday, May 21, 2025 at 13:55