Skillnader i GraphQL svarsstruktur och markeringar i Adobe Experience Manager
Efter uppgradering till AEM 6.5.23+ eller 6.5 LTS observeras skillnader i strukturen för GraphQL-svar för innehållsfragment och i formatering av markeringar jämfört med tidigare versioner, som AEM 6.5.20. De här ändringarna påverkar hur tomma objekt hanteras i unionsfrågor och hur mellanrum återges i markeringsfält. Åtgärda problemet genom att hantera tomma objekt i svar, justera bearbetningen av markeringar och följa konsekvent beständig frågekodning.
Beskrivning description
Miljö
- Produkt: Adobe Experience Manager (AEM) Managed Services, AEM Sites
- Version: 6.5.23+/ 6.5 LTS (inklusive SP1/SP2), referens till föregående version: 6.5.20
Problem och symtom
- I GraphQL-svar returnerar AEM 6.5.23+ och 6.5 LTS tomma JSON-objekt för poster när en fragmentreferens för flera fält innehåller innehållsfragment som inte matchar någon av de tillåtna modellerna i frågan, medan tidigare versioner utelämnar dem helt.
- Markeringsutdata från RTF-fält visar skillnader i blankstegshantering, t.ex. ytterligare blanksteg eller tomma rader mellan stycken eller block.
- Den beständiga frågeslutpunkten i AEM 6.5.23+ och 6.5 LTS tolererar mer okodade specialtecken, men kräver ändå URL-kodning för konsekvent beteende.
Upplösning resolution
Följ de här stegen för att åtgärda problemet:
-
Hantera tomma JSON-objekt som returneras av unionsfrågor:
- Filtrera ut tomma objekt (objekt utan egenskaper) på klientsidan när GraphQL-svaret bearbetas.
- Du kan även uppdatera den beständiga frågan så att den innehåller fragment för alla möjliga refererade modeller för att säkerställa att relevanta data returneras för varje typ.
-
Skillnader i Markdown Whitespace och formatering:
- Om det är viktigt med exakt tomt utrymme eller formatering kan du använda HTML- eller JSON-representationen av fältet i stället för Markdown.
- Du kan även normalisera tomt utrymme under efterbearbetningen genom att komprimera upprepade mellanslag eller tomma rader innan återgivningen.
-
Kodning av beständiga frågor:
- URL-koda alltid specialtecken, som semikolon, mellanslag och kolon, i beständiga frågesuffix och variabler enligt dokumenterade mönster.
- Förlita dig inte på den ökade toleransen för okodade tecken som introducerats i senare versioner, eftersom detta inte garanteras i framtida uppdateringar.
-
Verifiera att:
- Klientprogrammet filtrerar bort tomma objekt från GraphQL-svar, om det behövs.
- Återgivet innehåll visas som förväntat efter att normaliseringssteg har tillämpats på Markdown-utdata.
- Beständiga frågor fungerar på ett enhetligt sätt i olika miljöer genom att följa kodningskraven.
Anteckningar
- De beskrivna beteendena förväntas bero på avsiktliga ändringar som införts i AEM 6.5.23+ / 6.5 LTS och den uppdaterade GraphQL-motorn.
- Semantisk konsistens (korrekt struktur och innehåll) upprätthålls. Men det går inte att garantera exakt samma markeringsutdata för olika versioner.
- Om semantiska problem, t.ex. saknat innehåll eller felaktig struktur, observeras, kan ytterligare undersökningar krävas, eftersom dessa kan tyda på defekter i stället för förväntade beteendeförändringar.
Relaterad läsning
recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f