Preuzimanje resursa (GET)
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.
Accept zaglavlje
Obavezno uvek šaljite accept zaglavlje: Accept: application/vnd.api+json.
curl \
--header 'Accept: application/vnd.api+json' \
....
Osnovni GET primer
URL: http://example.com/jsonapi/node/article/{{article_uuid}}
Odgovor
HTTP 200 odgovor. Telo odgovora sadrži JSON:API objekat jednog article čvora, uključujući atribute, relacije i linkove.
GET više članaka
URL: http://example.com/jsonapi/node/article
Odgovor
HTTP 200 odgovor. Telo odgovora sadrži JSON:API objekat maksimalno 50 članaka, uključujući link za sledeću stranicu.
GET prvih 10 članaka
URL: http://example.com/jsonapi/node/article?page[limit]=10
Odgovor
JSON odgovor sa maksimalno 10 članaka, uključujući linkove za sledeće stranice.
GET druga stranica od 10 članaka
URL: http://example.com/jsonapi/node/article?page[limit]=10&page[offset]=10
Odgovor
HTTP 200 odgovor. Telo odgovora sadrži JSON:API objekat maksimalno 10 članaka, uključujući linkove za prethodnu, sledeću itd. stranicu.
Za više informacija o straničenju, pogledajte: https://www.drupal.org/docs/8/modules/jsonapi/pagination
GET više članaka sortirano
URL: http://example.com/jsonapi/node/article?sort=nid
Odgovor
HTTP 200 odgovor. Telo odgovora sadrži JSON:API objekat članaka, sortiranih po nid rastuće. Koristite &sort=-nid
za sortiranje opadajuće.
Za više informacija o sortiranju, pogledajte: https://www.drupal.org/node/2803141
GET članak filtriran po naslovu
URL: http://example.com/jsonapi/node/article?filter[article-title][path]=title&filter[article-title][value]={{title_filter}}&filter[article-title][operator]==
Odgovor
HTTP 200 odgovor. Telo odgovora sadrži JSON:API objekat članaka filtriranih po vrednosti polja 'title' koja se poklapa sa '{{title_filter}}'
Za više informacija o filtriranju, pogledajte: https://www.drupal.org/node/2943641
GET članak sa medijskom referencom (field_image), url, uri, uključujući reference
Novija sintaksa
URL:
http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image&fields[file--file]=uri,url
Starija sintaksa
URL: http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image,field_image.image,field_image.image.file--file&fields[field_image]=image&fields[file--file]=uri,url
Odgovor
HTTP 200 odgovor. Telo odgovora sadrži JSON:API objekat sa uključenim medija slike relacijama, vezanim za članak sa uuid '{{article_uuid}}'
GET članak zajedno sa svim povezanim podacima (autor, taksonomija itd.)
URL: http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&include=uid
Odgovor
HTTP 200 odgovor. Telo odgovora uključuje korisnički objekat sa svim informacijama o pridruženom korisniku. Ista sintaksa važi za druge povezane podatke kao što su taksonomski termini.
GET članak sa korisničkim referentnim poljem (field_user_ref_example) i njegovim profilom (ref_example_profile, referenca unutar reference)
URL: http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_user_ref_example,field_user_ref_example.ref_example_profile
Odgovor
HTTP 200 odgovor. Telo odgovora uključuje korisnički objekat sa svim informacijama o pridruženom korisniku i njegovom profilu. Ista sintaksa radi i za druge povezane podatke koji sadrže referencu na drugi entitet.
GET članak zajedno sa odabranim povezanim podacima (autor, taksonomija itd.)
URL: http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&fields[user--user]=name,mail&include=uid
Odgovor
HTTP 200 odgovor. Telo odgovora uključuje korisnički objekat sa samo specificiranim poljima u povezanim objektima (u ovom slučaju ime autora i email). Ista sintaksa važi i za druge povezane podatke kao što su taksonomski termini.
GET korisnički nalozi
URL: http://example.com/jsonapi/user/user?filter[anon][condition][path]=uid&filter[anon][condition][value]=0&filter[anon][condition][operator]=<>
Odgovor
HTTP 200 odgovor. Telo odgovora sadrži JSON:API objekat korisničkih naloga u sistemu, isključujući anonimnog korisnika. Obratite pažnju da ako želite listu svih korisnika, morate koristiti ovaj upit, jer prost GET zahtev na /jsonapi/user/user
rezultuje HTTP 403 greškom.
Dobijanje konfiguracionih entiteta
Pošto konfiguracioni entiteti (meni, tipovi čvorova, tour) nisu isti kao sadržajni entiteti (čvorovi, korisnici), ovo je malo komplikovanije. Trenutno su konfiguracioni entiteti samo za čitanje.
Za lako testiranje koristite user-1 i basic_auth modul.
- Omogućite basic auth modul
- Pretpostavite da je user-1 ime admin i lozinka admin
Korišćenjem sledeće komande dobićete listu menija.
curl \
--header 'Accept: application/vnd.api+json' \
http://admin:admin@drupal.d8/jsonapi/menu/menu
Članak sa Drupal dokumentacije.