Partager via


Vues de base de données dans l’API REST

Les vues sont prises en charge comme alternatives aux tables dans le générateur d’API de données (DAB). Une vue peut être exposée via des points de terminaison REST avec une configuration minimale.

Paramétrage

Pour exposer une vue :

  • Paramétrez source.type sur "view"
  • Définir source.object sur le nom complet de la vue
  • Pour identifier une ligne de manière unique, définissez key-fields
  • Accorder l’autorisation à l’aide de l’action "read" (et éventuellement "create", "update"si "delete" la vue est modifiable)

Exemple CLI

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

Exemple de configuration

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

Comportement REST

  • Prend en charge tous les verbes REST : GET, , POSTPUT, PATCH,DELETE
  • Le comportement par défaut est identique aux entités basées sur des tables.
  • Les opérations réussissent uniquement si la vue est mise à jour et que les autorisations appropriées sont définies

Exemple de requête

GET /api/BookDetail/id/42

Retourne la ligne de vw_books_details avec id = 42.

Permissions

  • Utiliser l’action read pour les vues en lecture seule
  • Utiliser create, updateet delete uniquement si la vue est mise à jour

Limites

  • key-fields sont obligatoires
  • Les vues ne prennent pas en charge les relations
  • La pagination, le filtrage et le tri sont pris en charge si la vue se comporte comme une table