[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"detail-sidebar-cat-0-en-105":3,"doc-seo-669723-105":59,"doc-detail-669723-en":130},{"code":4,"msg":5,"data":6},0,"success",[7,13,18,23,28,33,38,43,48,51,55],{"id":8,"doc_module":4,"doc_module_name":9,"category_name":10,"show_sort_weight":11,"slug":12},1,"Document","Story & Novel",90,"story-novel",{"id":14,"doc_module":4,"doc_module_name":9,"category_name":15,"show_sort_weight":16,"slug":17},2,"Literature",80,"literature",{"id":19,"doc_module":4,"doc_module_name":9,"category_name":20,"show_sort_weight":21,"slug":22},4,"Exam",70,"exam",{"id":24,"doc_module":4,"doc_module_name":9,"category_name":25,"show_sort_weight":26,"slug":27},5,"Comic",60,"comic",{"id":29,"doc_module":4,"doc_module_name":9,"category_name":30,"show_sort_weight":31,"slug":32},6,"Technology",50,"technology",{"id":34,"doc_module":4,"doc_module_name":9,"category_name":35,"show_sort_weight":36,"slug":37},7,"Healthcare",40,"healthcare",{"id":39,"doc_module":4,"doc_module_name":9,"category_name":40,"show_sort_weight":41,"slug":42},8,"Research & Report",30,"research-report",{"id":44,"doc_module":4,"doc_module_name":9,"category_name":45,"show_sort_weight":46,"slug":47},9,"Religion & Spirituality",20,"religion-spirituality",{"id":46,"doc_module":4,"doc_module_name":9,"category_name":49,"show_sort_weight":46,"slug":50},"World Cup","world-cup",{"id":52,"doc_module":4,"doc_module_name":9,"category_name":53,"show_sort_weight":52,"slug":54},10,"Lifestyle","lifestyle",{"id":56,"doc_module":4,"doc_module_name":9,"category_name":57,"show_sort_weight":24,"slug":58},19,"General","general",{"code":4,"msg":60,"data":61},"ok",{"site_id":62,"language":63,"slug":64,"title":65,"keywords":66,"description":67,"schema_data":68,"social_meta":123,"head_meta":125,"extra_data":127,"updated_unix":129},105,"en","playing-headlessly-with-graphql-capabilities-in-aem","Playing Headlessly with GraphQL Capabilities in AEM","","This technical presentation from the 2021 adaptTo() conference, delivered by Adobe's Evgeny Tugarev, provides a comprehensive overview of utilizing GraphQL with Adobe Experience Manager (AEM). The document explores the paradigm of headless content delivery, emphasizing how Content Fragments and their associated models offer presentation-agnostic solutions for multi-channel architectures. It details the implementation of Sling GraphQL APIs, including essential components like SlingSchemaServlet and SlingTypeResolver, while highlighting supported features such as introspection, variables, and mutations. Furthermore, the session introduces updates to the Content Fragment Model Editor, specifically focusing on new data types like JSON Objects and Fragment References, designed to enhance the development and testing of robust, strongly-typed APIs within the AEM ecosystem. This resource serves as a foundational guide for developers aiming to optimize content delivery strategies and leverage GraphQL's efficiency in solving complex data-fetching challenges.",{"@graph":69,"@context":122},[70,84,105],{"@type":71,"itemListElement":72},"BreadcrumbList",[73,77,79,82],{"item":74,"name":75,"@type":76,"position":8},"https://docshare.wps.com","Home","ListItem",{"item":78,"name":9,"@type":76,"position":14},"https://docshare.wps.com/document/",{"item":80,"name":30,"@type":76,"position":81},"https://docshare.wps.com/document/technology/",3,{"item":83,"name":65,"@type":76,"position":19},"https://docshare.wps.com/document/playing-headlessly-with-graphql-capabilities-in-aem/669723/",{"url":83,"name":65,"@type":85,"image":86,"author":91,"headline":65,"publisher":94,"fileFormat":97,"inLanguage":63,"description":67,"dateModified":98,"datePublished":99,"encodingFormat":97,"isAccessibleForFree":100,"interactionStatistic":101},"DigitalDocument",{"url":87,"@type":88,"width":89,"height":90},"https://docshare.wps.com/thumbnails/playing-headlessly-with-graphql-capabilities-in-aem/669723.png","ImageObject",300,407,{"name":92,"@type":93},"MrHarris58","Person",{"url":74,"name":95,"@type":96},"DocShare","Organization","application/pdf","2026-11-04","2026-11-01",true,{"@type":102,"interactionType":103,"userInteractionCount":14},"InteractionCounter",{"@type":104},"ViewAction",{"@type":106,"mainEntity":107},"FAQPage",[108,114,118],{"name":109,"@type":110,"acceptedAnswer":111},"What are the primary benefits of using Content Fragments for headless delivery?","Question",{"text":112,"@type":113},"Content Fragments are presentation-agnostic, rely on model definitions for a one-to-many relationship, and are strongly typed, making them highly suitable for GraphQL queries.","Answer",{"name":115,"@type":110,"acceptedAnswer":116},"How does GraphQL address common data-fetching issues in AEM?",{"text":117,"@type":113},"GraphQL solves the over-fetching and under-fetching problems by allowing clients to explicitly request only the data they need, using a strongly typed and schema-based approach.",{"name":119,"@type":110,"acceptedAnswer":120},"What are the core components required for implementing Sling GraphQL support in AEM?",{"text":121,"@type":113},"The implementation requires providing custom logic for the SlingSchemaServlet, SlingTypeResolver, and SlingDataFetcher interfaces.","https://schema.org",{"og:url":83,"og:type":124,"og:title":65,"og:site_name":95,"og:description":67},"article",{"robots":126,"canonical":83},"index,follow",{"doc_id":128,"site_id":62},669723,1793563789,{"code":4,"msg":5,"data":131},{"doc_id":128,"user_id":132,"nickname":92,"user_avatar":133,"doc_module":4,"category_id":29,"category_name":30,"doc_title":65,"doc_description":67,"doc_content":134,"file_id":135,"file_url":136,"file_type":137,"file_size":138,"view_count":14,"is_deleted":4,"is_public":8,"is_downloadable":8,"audit_status":8,"page_count":139,"language":140,"language_code":63,"site_id":62,"html_lang":63,"table_of_contents":141,"faqs":142,"seo_title":143,"seo_description":67,"update_tm":129,"read_time":144},687212988360,"https://ap-avatar.wpscdn.com/davatar_276721f389ce27ea32af1340a28f341c","EUROPE'S LEADING AEM DEVELOPER CONFERENCE  \n27th – 29th SEPTEMBER 2021  \nPlaying headlessly with GraphQL capabilities in AEM!  \nEvgeny Tugarev, Adobe.  \nHeadless, a new trend?  \nHeadless capabilities in AEM  \n▪ Headless, what is it?  \n▪ AEM provide different APIs to headlessly deliver content:  \n▪ Core Components/Sling Exporter, Assets,…  \n▪ Content Fragments  \nContent Fragments & GraphQL  \nContent Fragments  \n▪ Content Fragment  \n▪ Rely on a model definition  \n▪ One model-multiple content fragments (1:many)  \n▪ Presentation-agnostic, intended for multi channel use  \n▪ Strongly typed, well suited for GraphQL  \nRecap on GraphQL  \n▪ Strongly typed, schema based  \n▪ Solves over/under fetch problem, you get what you asked for  \n▪ Not a rival to REST  \nSling GraphQL support in AEM  \n▪ Per Sling GraphQL API contract we have to provide implementation for  \n▪ SlingSchemaServlet, SlingTypeResolver, SlingDataFetcher  \n▪ Supported features  \n▪ Aliases, Arguments, Fragments, Input types, Introspection, Meta fields, Nested fragments, Union types, Variables  \n▪ Mutations  \n▪ Assets [HTTP API](HTTP API)  \nGraphQL Endpoints & configurations  \nDesigning and testing the API  \nContent Fragment Model Editor, what’s new?  \n▪ Types  \n▪ Fragment Reference,▪ JSON  \n▪ Child Fragment Reference  \n▪ Attributes  \n▪ Unique, translatable","cbCaiiUhX1lYiFYh","https://ap.wps.com/l/cbCaiiUhX1lYiFYh","pdf",472757,23,"English","# Headless Capabilities in AEM\n## Understanding Content Fragments\n# Recap on GraphQL\n# Sling GraphQL Support in AEM\n## Implementation Requirements\n## Supported Features\n# Content Fragment Model Editor Updates","[{\"question\":\"What are the primary benefits of using Content Fragments for headless delivery?\",\"answer\":\"Content Fragments are presentation-agnostic, rely on model definitions for a one-to-many relationship, and are strongly typed, making them highly suitable for GraphQL queries.\"},{\"question\":\"How does GraphQL address common data-fetching issues in AEM?\",\"answer\":\"GraphQL solves the over-fetching and under-fetching problems by allowing clients to explicitly request only the data they need, using a strongly typed and schema-based approach.\"},{\"question\":\"What are the core components required for implementing Sling GraphQL support in AEM?\",\"answer\":\"The implementation requires providing custom logic for the SlingSchemaServlet, SlingTypeResolver, and SlingDataFetcher interfaces.\"}]","Playing Headlessly with GraphQL Capabilities in AEM | PDF",58]