Appendice
Paginazione dei risultati
In alcune ricerche, i risultati possono essere divisi in pagine e la risposta sarà come la seguente:
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