使用 GraphQL API 大規模提供結構化內容

利用 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
Experience Manager Sites 中的關鍵 GraphQL 功能
產生 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 端點:
- 全域端點: 授予存取在全域設定中定義的內容片段模型,以及來自任何站點特定設定的模型的權限。非常適合於跨專案重用的共用內容結構。
- 站點特定端點: 此端點與站點特定或專案設定綁定,僅限制存取該設定的模型以及全域中的模型——提供清晰的隔離並減少跨專案的曝光。
這種靈活的設定可讓企業精確管理跨品牌、地區或業務單元的內容交付——確保可擴展性,同時不損害安全性或清晰度。