Condividi tramite


Viste di database nell'API REST

Le viste sono supportate come alternative alle tabelle in Data API Builder (DAB). Una vista può essere esposta tramite endpoint REST con una configurazione minima.

Configurazione

Per esporre una visualizzazione:

  • Impostare source.type su "view"
  • Impostare source.object sul nome completo della visualizzazione
  • Per identificare una riga in modo univoco, definire key-fields
  • 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" \
  --fields.name "id" \
  --fields.primary-key "true" \
  --permissions "anonymous:read"

Esempio di configurazione

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

Comportamento 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/id/42

Restituisce la riga da vw_books_details con id = 42.

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