Puncte:0

Site decuplat ca strat de prezentare (afișare) pentru microservicii externe?

drapel dk

Înțeleg că Drupal 9 din cutie este foarte capabil, deoarece un Drupal decuplat, alias fără cap, servește ca back-end pentru alte aplicații (capacitatea de bază REST, JSONAPI).

Cu toate acestea, mă gândesc la modul invers: având Drupal 9 ca un strat de prezentare pur care extrage și afișează date de la diferite API-uri externe de micro-servicii. De exemplu, un API extern emite o listă de produse JSON și o pagină Drupal solicită ca datele respective să le afișeze pe pagina sa.

S-ar putea să nu fie nevoie să mapeze datele extrase în entități Drupal, ci pur și simplu să le afișeze pe pagina Drupal. (Motivul pentru care nu vreau să mapez datele și să le stochez în Drupal este că ar crea un set de date duplicat, ceea ce probabil nu este o practică bună pentru configurarea arhitecturii micro-servicii.)

Există abordări recomandate, module pentru astfel de cazuri pe piață pentru Drupal 9? Dacă niciun module nu sunt potrivite pentru acest caz, care sunt părțile dev-ului pe care le pot analiza în continuare (de exemplu, cârligele utilizate de modulul Vizualizări)?


ACTUALIZAT la 26 septembrie 2021

Pentru referință și oricine ar putea fi interesat de o astfel de situație, ajung cu ecosistemul Feeds.

Mai jos sunt contribuite modulele care lucrează împreună pentru aceasta:

  • Furaje
  • Analizoare extensibile
  • Hrănește Tamper

Feedurile (principale) nu au analiza în format JSON, Feeds Extensive Parsers (feeds_ex) adaugă suport JSON, utilizează bibliotecile JsonPath. Utilizați întotdeauna „composer” pentru a le instala ca multe dependențe de rezolvat. Utilizați modulul Ludwig pentru a verifica dacă lipsesc biblioteci necesare.

O referință grozavă aici: https://www.mediacurrent.com/blog/drupal-8-feeds-import-external-json-api/


Actualizat: De asemenea

https://www.drupal.org/project/views_json_source

Puncte:1
drapel cn

S-ar putea să nu fie nevoie să mapeze datele extrase în entități Drupal, doar pur și simplu afișați-le pe pagina Drupal.

Dacă trageți dintr-o sursă externă și nu utilizați entități, de ce să folosiți Drupal? Funcția modulului JSON:API este de a expune entitățile Drupal prin JSON:API; asta e tot ce face. Deci, dacă mergeți pe ruta JSON:API, va trebui să utilizați entități.

Oricum, Views + majoritatea celorlalte module Drupal se bazează foarte mult pe conceptul de entități. Entity API a fost un modul contrib în D7, dar face parte din nucleul și unul dintre conceptele fundamentale ale D8/D9.

Așadar, dacă construiesc un strat de afișare, aș începe cu a descoperi cum să mapați datele externe în entitățile Drupal. Apoi experimentați cu JSON:API mai întâi înainte de REST, deoarece dacă aveți deja entități, JSON:API este foarte rapid de configurat (din moment ce expune toate entitățile în mod implicit) și vă oferă spațiu pentru a experimenta.

Câteva module potențial utile:

  • Furaje pentru a extrage date din exterior și Hrănește Tamper a-l modifica (pre-procesare)
  • Câmp JSON sau Câmp JSONB pentru a stoca date JSON externe ca JSON, ușurând nevoia de a le analiza imediat (limitat la bazele de date care acceptă JSON)
  • JSON: API Explorer, PHPMyAdmin pentru JSON:API
  • JSON: API Extra-- în ciuda numelui, acest modul este probabil esențial. Vă permite să redenumiți resursele JSON:API în loc să utilizați numele de bază implicite și, de asemenea, vă permite să dezactivați cu ușurință accesul la grupuri de entități (ceea ce doriți, deoarece expunerea a tot ceea ce face JSON:API în mod implicit este probabil prea mult)
  • JSON: API Include a fuziona (atrageți automat referințe la entități)
  • JSON:Resurse API pentru a vă defini propriile puncte finale pentru a face tot ce doriți (pentru toate procesările personalizate)
drapel dk
multumesc pentru aceste instructiuni, te ajuta. Îmi dau seama că aceasta este probabil o discuție mai mult opinie decât o întrebare, s-ar putea să fie închisă. Dar răspunsul tău este de ajutor. Mulțumiri!
drapel dk
re: „Dacă trageți dintr-o sursă externă și nu utilizați entități, de ce să folosiți Drupal deloc?” Pentru că încă vreau să folosesc D9 subsisteme foarte puternice, cum ar fi router, securitate, seo, cache, tematică etc.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.