logo

Dodatni tipovi blokova (EBT) - Novo iskustvo rada sa Layout Builder-om❗

Dodatni tipovi blokova (EBT) – stilizovani, prilagodljivi tipovi blokova: slajdšouvi, kartice sa tabovima, kartice, akordeoni i mnogi drugi. Ugrađena podešavanja za pozadinu, DOM Box, javascript dodatke. Iskusite budućnost kreiranja rasporeda već danas.

Demo EBT moduli Preuzmite EBT module

❗Dodatni tipovi pasusa (EPT) – Novo iskustvo rada sa pasusima

Dodatni tipovi pasusa (EPT) – analogni skup modula zasnovan na pasusima.

Demo EPT moduli Preuzmite EPT module

Scroll
22/05/2025, by Ivan

JsonDrop API koristi implementaciju JSON:API za komunikaciju između backend-a i frontend-a, i u potpunosti je usklađen sa:

JSON:API specifikacijom

Postoji Postman kolekcija sa spremnim endpoint-ovima:

https://drive.google.com/file/d/1rMf0XdrK1zXwPqLQVsTH44Z2ttFxj7ss/view?usp=drive_link

Sama JSON:API specifikacija, prema sopstvenoj definiciji:

[A] specifikacija o tome kako klijent treba da zahteva da se resursi dohvate ili izmenе, i kako server treba da odgovori na te zahteve.

JSON:API je dizajniran da minimizuje broj zahteva i količinu podataka koji se prenose između klijenata i servera. Ova efikasnost je postignuta bez kompromitovanja čitljivosti, fleksibilnosti ili mogućnosti otkrivanja.

Drupal-ove strukture podataka—tipovi entiteta, bundle-ovi i polja—veoma su prilagođeni JSON:API standardu.

Omogućavanjem JSON:API modula, odmah dobijate kompletan REST API za svaki tip entiteta u vašoj Drupal aplikaciji. JSON:API automatski ispituje vaše entitet tipove i bundle-ove kako bi dinamički kreirao URL-ove putem kojih pristupate svakom od njih koristeći standardne HTTP metode: GET, POST, PATCH i DELETE.

JSON:API sledi filozofiju da modul treba da bude spreman za produkciju odmah „iz kutije”. To znači da je modul jasno definisan gde će resursi biti dostupni, koje metode su dostupne, i da prepušta kontrolu pristupa Drupal Core permission sistemu. Trenutno ne postoje dodatne konfiguracione stranice. Zbog toga, možete veoma lako pokrenuti API-driven Drupal aplikaciju uz minimalan trud.

Podstranice ove dokumentacije obuhvataju:

  • Osnovne koncepte JSON:API specifikacije i njihovu primenu u Drupalu
  • Opšti pregled API-ja koji modul omogućava
  • Praktične informacije kako da formirate vaše HTTP zahteve
  • Kako da izvršite autentifikaciju zahteva
  • Najčešće zamke i saveti
  • Konkretna dokumentacija za:
    • Dohvatanje pojedinačnih resursa (GET)
    • Dohvatanje kolekcija resursa (GET sa filterima, paginacijom i sortiranjem)
    • Kreiranje novih resursa (POST)
    • Ažuriranje postojećih resursa (PATCH)
    • Brisanje postojećih resursa (DELETE)

Ako imate posebna pitanja, možete postaviti zahtev za podršku u JSON:API modula issue queue [480 issues].

API koji omogućava JSON:API modul fokusiran je na Drupal entitet tipove i bundle-ove. Svaki bundle dobija svoj, jedinstven URL koji prati zajednički obrazac.

Za razliku od Drupal Core REST modula, ove putanje nisu konfigurisane i sve su omogućene po defaultu. Takođe, za razliku od core REST-a, JSON:API nije samo format kao JSON ili HAL+JSON, već podrazumeva mnogo šira pravila o tome kako vaš API radi. Određuje koje HTTP metode treba koristiti, koje HTTP kodove treba vraćati u određenim slučajevima, format odgovora i veze između resursa. Za detaljnije poređenje, pogledajte JSON:API vs. core REST module.

Tipovi

Svaki resurs u JSON:API mora imati globalno jedinstvenu type osobinu. Drupal JSON:API implementacija dobija ovu vrednost kombinovanjem machine name entitet tipa i bundle-a. Na primer, članci, strane i korisnici dobijaju tipove node--article, node--pages i user--user. Napomena: user entitet u Drupalu nema bundle, pa se tip ponavlja zbog konzistentnosti.

Struktura URL-a

Primer JSON:API URL-a:

GET|POST     /jsonapi/node/article
PATCH|DELETE /jsonapi/node/article/{uuid}

Svaki tip resursa mora biti jedinstveno adresiran u API-ju. To znači da svaki tip dostupan API-ju ima svoj jedinstveni URL. Takođe, to znači da se uvek sa jednog URL-a može dohvatiti samo jedan tip resursa. Drupal implementacija prati obrazac: /jsonapi/{entity_type_id}/{bundle_id}[/{entity_uuid}].

URL je uvek prefiksiran sa /jsonapi.

Nakon toga, ID entiteta i bundle-a su spojeni kosom crtom. Ne postoji URL /jsonapi/node jer bi to kršilo specifikaciju (dohvatanje više tipova resursa sa jednog URL-a).

Postoje:
  /jsonapi/node/page
  /jsonapi/node/article

Ne postoji:
  /jsonapi/node

Nakon entity type-a i bundle-a, opcionalno ide UUID kao ID. Da biste adresirali pojedinačan resurs (za dohvat, izmenu ili brisanje), morate uključiti ovu vrednost. Uvek se koristi UUID resursa. Kod kreiranja novog resursa ili dohvatanja kolekcije, ID deo se izostavlja.

GET, POST
/jsonapi/node/article

PATCH, DELETE
/jsonapi/node/article/{uuid}

HTTP metode

JSON:API precizira koje HTTP metode se koriste: GET, POST, PATCH i DELETE. Važno: PUT nije podržan.

  • GET - Preuzimanje podataka, može biti kolekcija ili pojedinačan resurs
  • POST - Kreiranje novog resursa
  • PATCH - Ažuriranje postojećeg resursa
  • DELETE - Brisanje postojećeg resursa

HTTP zaglavlja zahteva

Koristite 'Content-Type' i 'Accept' zaglavlja kada je potrebno. Pogledajte Client responsibility za više detalja.

Accept: application/vnd.api+json
Content-Type: application/vnd.api+json

HTTP kodovi odgovora

JSON:API specifikacija određuje dozvoljene odgovore. Drupal implementacija koristi podskup ovih kodova. Modul može vratiti sledeće kodove:

  • 200 OK - Svi uspešni GET i PATCH zahtevi
  • 201 Created - Svi uspešni POST zahtevi (odgovor uključuje novi resurs)
  • 204 No Content - Svi uspešni DELETE zahtevi

 

Članak sa Drupal dokumentacije.