API AEM per la consegna e gestione di contenuti strutturati aem-apis-structured-content-delivery-and-management

Adobe Experience Manager (AEM) as a Cloud Service offre più API sia per la distribuzione di contenuti strutturati dai frammenti di contenuto che per la gestione dei frammenti di contenuto. Per ulteriori dettagli sulle API specifiche, consulta le singole pagine.

REST e GRAPHQL rest-vs-graphql

L’API utilizzata è una decisione per gli sviluppatori: AEM supporta entrambe.

Molti confronti sono disponibili online, ma alcuni punti salienti e vantaggi di REST includono:

  • Semplicità

    • Gli sviluppatori hanno (spesso) familiarità con HTTP e REST. In base al rapporto Stato Postman delle API, un'alta percentuale di sviluppatori utilizza REST.

    • Con la semplicità si arriva alla familiarità. Con REST non ci sono domande organizzative su chi è il proprietario delle query e chi è il proprietario dell’app, mentre queste domande possono sorgere con GraphQL.

    • Con la familiarità (tipicamente) viene fornito un ampio panorama di comunità e strumenti. Non è uno svantaggio intrinseco di GraphQL, ma è probabile che sia più ampio e profondo per REST.

    • L'approccio più semplice può anche semplificare l'implementazione della sicurezza. Con REST, il filtro per determinare il contenuto di cui eseguire il rendering si verifica nell’app client. Con GraphQL questo si verifica in una query basata su schema tra client e server.

  • Flessibilità

    • Con REST, lo sviluppatore può GET qualsiasi risorsa. Con GraphQL sono limitati alle risorse definite all’interno di uno schema.
  • Memorizzazione in cache

    • Le risposte JSON alle richieste REST GET sono intrinsecamente memorizzabili nella cache. Le richieste di GraphQL POST non possono essere memorizzate nella cache, a meno che non vengano effettuate in questo modo, ad esempio utilizzando query persistenti di AEM memorizzate nel server e richieste con GET richieste simili a REST.

I vantaggi di GraphQL includono:

  • Efficienza nella distribuzione dei contenuti

    • Stato attivo

      • Con GraphQL le applicazioni client possono richiedere il contenuto esatto necessario per il rendering e non più. Questo approccio evita la distribuzione eccessiva dei contenuti, con carichi utili eccessivi dei contenuti e un inutile consumo di larghezza di banda.
    • Endpoint singolo

      • Mentre nel REST ogni richiesta API è un endpoint, in GraphQL esiste un solo endpoint comune e diverse richieste di contenuto vengono espresse come query che utilizzano tale endpoint comune.
  • Prototipizzazione rapida

    • Con GraphQL si tratta di un processo in un’unica fase, integrato nella query di GraphQL, che può semplificare la creazione di prototipi. REST è invece un processo in due fasi:

      1. Recupera il contenuto con API.
      2. Nella risposta JSON, determina cosa utilizzare per il rendering nell’app client.
recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab