Vai al contenuto

Appendice

Paginazione dei risultati

In alcune ricerche, i risultati possono essere divisi in pagine e la risposta sarà come la seguente:

{
    "elements": [
    ],
    "page": {
        "number": 0,
        "size": 20,
        "totalElements": 2,
        "totalPages": 1
    }
}

La sezione elements contiene i dati relativi alla risorsa richiesta, mentre la sezione page contiene informazioni relative alla paginazione ed è composta dai seguenti campi:

  • number: numero della pagina corrente
  • size: dimensione pagina corrente
  • totalElements: numero totale di elementi trovati (opzionale non sempre presente in tutte le ricerche)
  • totalPages: numero totale di pagine (opzionale non sempre presente in tutte le ricerche)

In ogni richiesta che prevede la paginazione è possibile indicare i seguenti parametri:

  • size: dimensione pagina richiesta (default 20)
  • page: numero di pagina. Il valore di default è 0 che rappresenta la prima pagina

Esempio per ottenere la terza pagina con dimensione 10 si dovranno aggiungere alla ricerca i seguenti parametri:

size=10&page=2

Ricerca avanzata

Alcuni parametri di ricerca permettono l'uso di operatori per perfezione la ricerca che si vuole effettuare.

Gli operatori sono specificati in base alla seguente sintassi <field>=<operator>:<value>

L'operatore e il valore sono separati dal carattere ":".

Gli operatori prevedono un numero di valori variabile tra 0 (nessun valore) e N valori. Se sono previsti più valori devono essere separati da virgola ",". Esempi:

  • nessun valore: <field>=isNull:
  • un valore: <field>=eq:123
  • due valori: <field>=between:1,5
  • più valori: <field>=in:a,b,c

Gli operatori disponibili sono i seguenti:

Operatore Tipologia valore Numero valori
eq Tutti 1
ne Tutti 1
contains String 1
startsWith String 1
endsWith String 1
lt Number, Date, DateTime 1
le Number, Date, DateTime 1
gt Number, Date, DateTime 1
ge Number, Date, DateTime 1
isNull Tutti 0
isNotNull Tutti 0
between Number, Date, DateTime 2
in Tutti 1-N
notIn Tutti 1-N

Info

Nella documentazione è indicato, per ogni campo da ricercare, l'elenco degli operatori supportati

Operatore di default

Per tutti i campi di ricerca che supportano operatori è definito un operatore di default, ovvero l'operatore utilizzato nel caso in cui non ne sia stato specificato alcuno.

Ad esempio se il campo org ha come operatore di default startsWith, le due ricerche sono equivalenti:

org=startsWith:Registro e org=Registro

Warning

Se nel valore di ricerca è presente il carattere separatore ":" non può essere utilizzato l'operatore di default, ma deve essere sempre specificato l'operatore da utilizzare.

Esempio, l'espressione:

created=2024-01-03T12:30:00

non è una espressione valida e deve essere scritta come

created=eq:2024-01-03T12:30:00

Cardinalità parametri

I campi di ricerca possono essere singoli, ovvero possono comparire una sola volta come parametro di ricerca o multipli, ovvero possono comparire più volte.

Esempio di ricerca con parametro multiplo per dati creati nell'anno 2023:

created=ge:2023-01-01&created=lt:2024-01-01

Campi DateTime

I campi di tipo DateTime possono essere espressi sia come sola data che come data e ora completa. Se per un campo DateTime viene indicata nel valore da ricercare solo la data, sarà considerato un valore all'inizio della giornata, ovvero le seguenti espressioni sono equivalenti:

created=ge:2024-01-01 e created=ge:2024-01-01T00:00:00