Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Il generatore di API dati (DAB) fornisce un'API Web RESTful che consente di accedere a tabelle, viste e stored procedure da un database connesso. Ogni oggetto di database esposto viene definito come entità nella configurazione di runtime.
Per impostazione predefinita, DAB ospita gli endpoint REST in:
https://{base_url}/api/{entity}
Annotazioni
Tutti i componenti del percorso e i parametri di query fanno distinzione tra maiuscole e minuscole.
Parole chiave supportate in Generatore API dati
| Concetto | REST | Scopo |
|---|---|---|
| Projection | $select | Scegliere i campi da restituire |
| Filtraggio | $filter | Limitare le righe per condizione |
| Ordinamento | $orderby | Definire l'ordinamento |
| Dimensioni pagina | $first | Limitare gli elementi per pagina |
| Continuazione | $after | Continua dall'ultima pagina |
Struttura di base
Per chiamare un'API REST, creare una richiesta usando questo modello:
{HTTP method} https://{base_url}/{rest-path}/{entity}
Esempio di lettura di tutti i record dall'entità book :
GET https://localhost:5001/api/book
La risposta è un oggetto JSON:
{
"value": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" }
]
}
Annotazioni
Per impostazione predefinita, DAB restituisce fino a 100 elementi per ogni query, a meno che non sia configurato diversamente (runtime.pagination.default-page-size).
Tipi di query
Ogni entità REST supporta sia letture di collezione che letture singole.
| Operation | Descrizione |
|---|---|
GET /api/{entity} |
Restituisce un elenco di record |
GET /api/{entity}/{primary-key-column}/{primary-key-value} |
Restituisce un record per chiave primaria |
Esempio che restituisce un record:
GET /api/book/id/1010
Esempio che restituisce un insieme di risultati:
GET /api/book
Filtro dei risultati
Usare il $filter parametro di query per limitare i record restituiti.
GET /api/book?$filter=title eq 'Foundation'
Questa query restituisce tutti i libri il cui titolo è uguale a "Foundation".
I filtri possono includere operatori logici per query più complesse:
GET /api/book?$filter=year ge 1970 or title eq 'Dune'
Vedere il riferimento all'argomento $filter per gli operatori supportati, come eq, ne, lt, le, and e or.
Ordinamento dei risultati
Il $orderby parametro definisce la modalità di ordinamento dei record.
GET /api/book?$orderby=year desc, title asc
In questo modo vengono restituiti i libri ordinati in year ordine decrescente, quindi in base a title.
Per ulteriori dettagli, consultare il riferimento al parametro $orderby.
Limitazione dei risultati {#first-and-after}
Il $first parametro limita il numero di record restituiti in una richiesta.
GET /api/book?$first=5
Restituisce i primi cinque libri, ordinati per chiave primaria per impostazione predefinita.
È anche possibile usare $first=-1 per richiedere le dimensioni massime della pagina configurate.
Altre informazioni sono disponibili nel riferimento all'argomento $first.
Risultati continui
Per recuperare la pagina successiva, usare $after con il token di continuazione della risposta precedente.
GET /api/book?$first=5&$after={continuation-token}
Il $after token identifica dove è terminata l'ultima query.
Per informazioni dettagliate, vedere riferimento all'argomento $after.
Selezione dei campi (proiezione)
Usare $select per controllare quali campi sono inclusi nella risposta.
GET /api/book?$select=id,title,price
Restituisce solo le colonne specificate.
Se un campo manca o non è accessibile, DAB restituisce 400 Bad Request.
Per informazioni dettagliate, vedere $select riferimento dell'argomento.
Modifica dei dati
L'API REST supporta anche operazioni di creazione, aggiornamento ed eliminazione a seconda delle autorizzazioni dell'entità.
| Metodo | Action |
|---|---|
POST |
Creare un nuovo elemento |
PUT |
Sostituire un elemento esistente (o crearne se mancante) |
PATCH |
Aggiornare un elemento esistente o crearne uno se mancante |
DELETE |
Rimuovere un elemento in base alla chiave primaria |
Esempio di creazione di un nuovo record:
POST /api/book
Content-type: application/json
{
"id": 2000,
"title": "Leviathan Wakes"
}
Esempio di aggiornamento di un record esistente:
PATCH /api/book/id/2000
Content-type: application/json
{
"year": 2011,
"pages": 577
}
Esempio di eliminazione di un record:
DELETE /api/book/id/2000