Experts en Drupal

Connectem GraphQL amb Drupal 8

GraphQL parla amb Drupal a HTTP i les sortides estan més estructurades que mai!

Connectem GraphQL amb Drupal 8
Jaume Codina
Jaume Codina

maig 11, 2020

Avui en dia, les grans experiències dels clients comencen amb un gran contingut. Contingut que es fa disponible a tot arreu. Amb la iniciativa API-first de Drupal 8, el contingut que és administrat per Drupal pot ser fàcilment utilitzat per altres sistemes a través d'HTTP. REST (rest) proporciona un estàndard de disseny per a les API. No obstant això, amb les aplicacions client cada vegada més complexes i desafiants, els desenvolupadors necessiten una solució més moderna i efectiva.

GraphQL va néixer de la demanda d'una interacció client-servidor més flexible i potent. És un llenguatge de consulta sofisticat i una màquina d'execució. El 2012 Facebook va crear l'especificació per a això, que descriu les seves capacitats i els requisits dels models de dades per a aplicacions sense cap.

Què és GraphQL?

GraphQL és un estàndard adaptable per les APIs i proporciona un temps d'execució per complir amb aquestes consultes. GraphQL dóna una completa i raonable detalls de la informació en la seva API. Es desenvolupa amb una ideologia de "Demana el que necessites i aconsegueix exactament això". Permet a el client buscar la resposta exacta que necessita en l'API, ni més ni menys.

Avantatges de GraphQL

Poques de les moltes avantatges d'utilitzar GraphQL per Drupal -

Desenvolupament més ràpid de l'frontend

Emfatitzar ràpidament en les aplicacions sense esperar als nous punts finals de l'backend. Millorar l'obtenció de dades i el manteniment dels codis obtenint les dades de la manera que vostè necessita.

Demani el que necessiti i obtingui exactament això

Proporciona la resposta exacta que el client va demanar. Sempre retorna un resultat predictible. Les aplicacions que fan servir GraphQL també són estables perquè l'aplicació controla les dades que obté, no el servidor.

Utilitza les dades existents

GraphQL es pot utilitzar amb qualsevol infraestructura existent, per exemple, REST, SOAP o una base de dades existent, o qualsevol altra cosa. Li permet consultar totes les dades en una sola sol·licitud i li proporciona una resposta neta i predictible.

Menys bytes i viatges d'anada i tornada

Usant GraphQL totes les dades requerides poden ser obtinguts usant una sola consulta. Això fa que l'aplicació sigui més ràpida.

REST vs JSON: API vs GraphQL

Si comparem aquests tres d'acord a l'eficiència de la sol·licitud, JSON: API i GraphQL són excel·lents. Perquè en una sola sol·licitud JSON: API i GraphQl poden servir totes les respostes requerides. En el cas de JSON: API, de vegades hem d'adaptar la resposta, però quan es tracta de GraphQL, només serveix el que necessitem. REST és més lent en comparació amb aquests, perquè es necessiten múltiples sol·licituds per servir a les necessitats comunes.

En termes de simplicitat operacional i implementació, REST és el més fàcil, ha estat aquí des de fa força temps. JSON: API també funciona fora de la caixa amb CDN i proxies inversos. Per GraphQL es necessita una infraestructura extra i es necessiten llibreries de client per implementar-lo.

És més fàcil utilitzar la memòria cau web en REST i JSON: API en comparació amb GraphQL. En GraphQL, només hi ha un endpoint (la majoria de les vegades un endpoint HTTP POST) on s'envien totes les consultes. Atès que cada consulta pot ser diferent, és més difícil utilitzar aquest tipus de memòria cau.

L'especificació GraphQL de Drupal suporta operacions bulk / batch automàticament per a les mutacions que ja ha implementat, mentre que l'especificació JSON: API no ho fa. La capacitat de realitzar operacions d'escriptura per lots pot ser important.

Instal·lant GraphQL per Drupal 8

El mòdul GraphQL de Drupal suporta totes les especificacions de GraphQL i pot ser utilitzat per construir i exposar els esquemes de GraphQL. L'última versió alfa de la lliçó Drupal 8 a la versió 8.x-4 ofereix la possibilitat que els mòduls de Drupal ampliïn l'esquema amb un connector.

Aquí és on pot instal·lar el mòdul GraphQL de Drupal des - https://www.drupal.org/project/graphql
Pots instal·lar fent servir la comanda compositor.

composer requereix 'drupal / graphql: ^ 3.0'.

Et proporcionarà dos mòduls GraphQL Core i GraphQL. Necessites habilitar dos mòduls. Pots habilitar usant drush per exemple.

drush en graphql
drush en graphql_core

Comparteix aquest article

Articles Relacionats