Udostępnij za pośrednictwem


Widoki bazy danych w interfejsie API GraphQL

Widoki są obsługiwane jako alternatywy dla tabel w narzędziu Data API Builder (DAB). Widok można udostępnić za pośrednictwem punktów końcowych GraphQL z minimalną konfiguracją.

Konfiguracja

Aby uwidocznić widok:

  • Ustaw element source.type na wartość "view"
  • Ustaw source.object na pełną kwalifikowaną nazwę widoku
  • Aby jednoznacznie zidentyfikować wiersz, zdefiniuj key-fields
  • Udziel uprawnień za pomocą akcji "read" (i opcjonalnie "create", "update", "delete" jeśli widok jest aktualizowalny)

Przykład interfejsu wiersza polecenia

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

Przykład konfiguracji

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

Zachowanie GraphQL

  • Widok jest wyświetlany jako typ GraphQL
  • Zapytania są zawsze obsługiwane
  • Mutacje są obsługiwane tylko wtedy, gdy widok jest aktualizowalny
  • Jest zgodna ze standardową strukturą schematu języka DAB GraphQL

Przykładowe zapytanie

{
  bookDetails {
    items {
      id
      title
      authorName
    }
  }
}

uprawnienia

  • Użyj akcji read dla widoków tylko do odczytu
  • Użyj create, update i delete tylko wtedy, gdy widok jest aktualizowalny

Ograniczenia

  • key-fields są wymagane
  • Widoki nie obsługują relacji
  • Stronicowanie, filtrowanie i sortowanie są obsługiwane, jeśli widok zachowuje się jak tabela