Articles

Ova stranica prikazuje primere različitih GET zahteva za JSON:API modul.
U svim primerima ispod nisu potrebna zaglavlja zahteva. Autentifikacija nije potrebna ako anonimni korisnici imaju pristup sadržajnim entitetima. Za konfiguracione entitete kao što su meniji, pogledajte poslednje sekcije.
Napomena: u svim slučajevima, kada je potreban id, to je uvek uuid entiteta, a ne entity id.


Ova stranica prikazuje primere raznih POST zahteva za JSON:API modul.
POST zahtevi se koriste za kreiranje novih resursa. Ako želite da izmenite resurse, treba da koristite PATCH zahteve.


Ova stranica prikazuje primere PATCH zahteva za JSON:API modul.
Omogućavanje update (ažuriranje) operacije
Posetite /admin/config/services/jsonapi
i čekirajte opciju "Accept all JSON:API create, read, update, and delete operations." (Prihvati sve JSON:API operacije: kreiranje, čitanje, ažuriranje i brisanje).


Ova stranica prikazuje primere DELETE zahteva za JSON:API modul.
Omogućavanje DELETE operacije
Posetite /admin/config/services/jsonapi
i čekirajte opciju "Accept all JSON:API create, read, update, and delete operations." (Prihvati sve JSON:API operacije: kreiranje, čitanje, ažuriranje i brisanje).


Neki sajtovi možda neće želeti da izlože određene JSON:API tipove resursa ili polja, ili žele da preimenuju polja radi čistijeg interfejsa.
Da bi omogućio ove izmene, JSON:API emituje objekat događaja ResourceTypeBuildEvent
koristeći ime događaja ResourceTypeBuildEvents::BUILD
. Molimo pogledajte kako se pretplatiti na događaje i emitovati ih za više informacija.
Pretplatnici mogu pozvati sledeće metode:


Otpremanje fajlova je sada podržano, pogledajte napomene o izdanju za više informacija: https://www.drupal.org/node/3024331
Ove dve slike pokazuju kako koristiti Postman za testiranje otpremanja fajlova putem JSON:API


TL;DR
Izaberite REST ako imate podatke koji nisu entiteti i želite da ih izložite. U svim drugim slučajevima, izaberite JSON:API.
Malo detaljnije:


JSON:API je u potpunosti zasnovan na entitetima. To znači da ne može da obrađuje poslovna pravila ili izvršava radnje koje ne mogu da se posmatraju kao "CRUD" operacije. Poslovna logika, kao što su registracija novog naloga, prijava korisnika ili zahtev za novu lozinku, nisu deo JSON:API-ja. Mnoge od ovih funkcionalnosti već su obezbeđene kroz Drupal core.
Nepotpuna lista čestih potreba i rešenja je prikazana ispod.


Preimenovanje i onemogućavanje resursa i polja je sada deo Drupal core-a.
Ako treba da izmenite svojstva resursa kao što su API putanja, ograničenja broja resursa ili podrazumevane vrednosti za includes, ili želite interfejs za onemogućavanje polja ili resursa, koristite JSON:API Extras.


JSON:API modul je dizajniran da preuzme model podataka definisan u Drupalu putem Drupal Entity API-ja, Field API-ja i Typed Data API-ja i izloži ga kroz API koji je u skladu sa JSON:API specifikacijom, kako bi omogućio interakciju sa podacima (entitetima) koje Drupal upravlja.
Pri tome, poštuje sve Drupal sigurnosne mere za te podatke:
