Condividi tramite


Uso delle visualizzazioni in Generatore API dati

Le viste sono supportate come alternative alle tabelle in DAB. Una vista può essere esposta tramite endpoint REST o GraphQL con una configurazione minima.

Configurazione

Per esporre una visualizzazione:

  • Impostare source.type su "view"
  • Impostare source.object sul nome completo della visualizzazione
  • Definire key-fields per identificare una riga in modo univoco
  • Concedere l'autorizzazione usando l'azione "read" (e facoltativamente "create", "update", "delete" se la visualizzazione è aggiornabile)

Esempio di CLI

dab add BookDetail \
  --source dbo.vw_books_details \
  --source.type "view" \
  --source.key-fields "id" \
  --permissions "anonymous:read"

Esempio di configurazione

"BookDetail": {
  "source": {
    "type": "view",
    "object": "dbo.vw_books_details",
    "key-fields": [ "id" ]
  },
  "permissions": [
    {
      "role": "anonymous",
      "actions": [ "read" ]
    }
  ]
}

Supporto REST

  • Supporta tutti i verbi REST: GET, POST, PUT, PATCH, DELETE
  • Il comportamento predefinito è identico alle entità supportate da tabelle
  • Le operazioni hanno esito positivo solo se la visualizzazione è aggiornabile e vengono impostate le autorizzazioni appropriate

Richiesta di esempio

GET /api/BookDetail/42

Restituisce la riga da vw_books_details con id = 42.

Supporto di GraphQL

  • Visualizzazione visualizzata come tipo GraphQL
  • Le richieste sono sempre supportate
  • Le mutazioni sono supportate solo se la vista è aggiornabile
  • Segue la struttura dello schema DAB GraphQL standard

Autorizzazioni

  • Usare l'azione read per le visualizzazioni di sola lettura
  • Usare create, updatee delete solo se la vista è aggiornabile

Limitazioni

  • key-fields sono obbligatori
  • Le visualizzazioni non supportano le relazioni
  • L'impaginazione, il filtro e l'ordinamento sono supportati se la vista si comporta come una tabella