logo

Extra Block Types (EBT) - New Layout Builder experience❗

Extra Block Types (EBT) - styled, customizable block types: Slideshows, Tabs, Cards, Accordions and many others. Built-in settings for background, DOM Box, javascript plugins. Experience the future of layout building today.

Demo EBT modules Download EBT modules

❗Extra Paragraph Types (EPT) - New Paragraphs experience

Extra Paragraph Types (EPT) - analogical paragraph based set of modules.

Demo EPT modules Download EPT modules

Scroll
04/09/2025, by Ivan

Questa pagina mostra esempi di varie richieste GET per il modulo JSON:API.

In tutti gli esempi seguenti non sono richieste intestazioni. Non è richiesta autenticazione se gli utenti anonimi possono accedere alle entità di contenuto. Per le entità di configurazione come i menu, vedi le ultime sezioni.

Nota che in tutti i casi, quando è necessario un id, si tratta sempre dell’uuid dell’entità, non dell’id dell’entità.

Intestazione Accept

Assicurati di inviare sempre l’intestazione accept: Accept: application/vnd.api+json.

curl \
  --header 'Accept: application/vnd.api+json' \
  .... 

Esempio GET di base

URL: http://example.com/jsonapi/node/article/{{article_uuid}}

Risposta

Risposta HTTP 200. Il corpo della risposta contiene l’oggetto JSON:API di un singolo nodo articolo, inclusi attributi, relazioni e link.

GET più articoli

URL: http://example.com/jsonapi/node/article

Risposta

Risposta HTTP 200. Il corpo della risposta contiene l’oggetto JSON:API di massimo 50 articoli, incluso il link al successivo.

GET primi 10 articoli

URL: http://example.com/jsonapi/node/article?page[limit]=10

Risposta

Risposta JSON di massimo 10 articoli, inclusi link al successivo.

GET seconda pagina di 10 articoli

URL: http://example.com/jsonapi/node/article?page[limit]=10&page[offset]=10

Risposta

Risposta HTTP 200. Il corpo della risposta contiene l’oggetto JSON:API di massimo 10 articoli, inclusi i link a prev, next, ecc.

Per maggiori informazioni sulla paginazione, vedi: https://www.drupal.org/docs/8/modules/jsonapi/pagination

GET più articoli ordinati

URL: http://example.com/jsonapi/node/article?sort=nid

Risposta

Risposta HTTP 200. Il corpo della risposta contiene l’oggetto JSON:API degli articoli, ordinati per nid crescente. Usa &sort=-nid per ordinarli in ordine decrescente.

Per maggiori informazioni sull’ordinamento, vedi: https://www.drupal.org/node/2803141

GET articolo filtrato per titolo

URL: http://example.com/jsonapi/node/article?filter[article-title][path]=title&filter[article-title][value]={{title_filter}}&filter[article-title][operator]==

Risposta

Risposta HTTP 200. Il corpo della risposta contiene l’oggetto JSON:API degli articoli, filtrati in base al valore del campo 'title' corrispondente a '{{title_filter}}'

Per maggiori informazioni sui filtri, vedi: https://www.drupal.org/node/2943641

GET articolo con campo di riferimento entità media field_image url, uri includendo le referenze

Sintassi più recente

URL: 

http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_image&fields[file--file]=uri,url

Sintassi precedente

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

Risposta

Risposta HTTP 200. Il corpo della risposta contiene l’oggetto JSON:API delle relazioni di immagine media incluse, corrispondenti al singolo nodo articolo con '{{article_uuid}}'

GET articolo insieme all’intero set di dati correlati (autore, termine di tassonomia, ecc.)

URL: http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&include=uid

Risposta

Risposta HTTP 200. Il corpo della risposta include un oggetto utente contenente tutte le informazioni sull’utente associato. La stessa sintassi funziona anche per altri dati correlati come i termini di tassonomia.

GET articolo con campo di riferimento utente, field_user_ref_example, e il suo profilo, ref_example_profile, (campo di riferimento dentro un campo di riferimento)

URL: http://example.com/jsonapi/node/article/{{article_uuid}}?include=field_user_ref_example,field_user_ref_example.ref_example_profile

Risposta

Risposta HTTP 200. Il corpo della risposta include un oggetto utente contenente tutte le informazioni sull’utente associato e sul suo profilo. La stessa sintassi funziona anche per altri dati correlati che contengono un campo di riferimento.

GET articolo insieme a specifici elementi di dati correlati (autore, termine di tassonomia, ecc.)

URL: http://example.com/jsonapi/node/article?fields[node--article]=uid,title,created&fields[user--user]=name,mail&include=uid

Risposta

Risposta HTTP 200. Il corpo della risposta include un oggetto utente contenente i campi specificati nell’oggetto correlato (in questo caso, nome e email dell’autore). La stessa sintassi funziona anche per altri dati correlati come i termini di tassonomia.

GET account utente

URL: http://example.com/jsonapi/user/user?filter[anon][condition][path]=uid&filter[anon][condition][value]=0&filter[anon][condition][operator]=<>

Risposta

Risposta HTTP 200. Il corpo della risposta contiene l’oggetto JSON:API degli account utente nel sistema, escluso l’account utente anonimo. Nota che se desideri ottenere un elenco di tutti gli account utente, devi usare la query sopra, poiché eseguire semplicemente una richiesta GET a /jsonapi/user/user restituirà un errore HTTP 403.

Recupero entità di configurazione

Poiché le entità di configurazione (menu, tipo di nodo, tour) non sono uguali alle entità di contenuto (nodi, utenti) questo è un po’ più complicato. Attualmente le entità di configurazione sono sola lettura.

Per un test semplice usiamo user-1 e il modulo basic_auth.

  1. Abilita il modulo basic_auth
  2. Assumi che il nome di user-1 sia admin e la password admin

Utilizzando il seguente comando verranno elencati i menu.

curl \
  --header 'Accept: application/vnd.api+json' \
  http://admin:admin@drupal.d8/jsonapi/menu/menu

Articolo da Documentazione di Drupal.