GraphQL API'sindeki veritabanı görünümleri

Görünümler, Veri API'si oluşturucusu'ndaki (DAB) tablolara alternatif olarak desteklenir. Bir görünüm, en az yapılandırmayla GraphQL uç noktaları aracılığıyla gösterilebilir.

Konfigürasyon

Görünümü kullanıma açmak için:

  • source.type seçeneğini "view" olarak ayarlayın
  • Tam nitelikli görünüm adına source.object ayarlayın.
  • Bir satırı benzersiz olarak tanımlamak için key-fields
  • "read" eylemini (ve isteğe bağlı olarak "create", "update", "delete" görünüm güncelleştirilebilirse) kullanarak izin ver

CLI örneği

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

Yapılandırma örneği

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

GraphQL davranışı

  • Görünüm, GraphQL türü olarak görünür
  • Sorgular her zaman desteklenir
  • Mutasyonlar yalnızca görünüm güncelleştirilebilir olduğunda desteklenir
  • Standart DAB GraphQL şema yapısını izler

Örnek sorgu

{
  bookDetails {
    items {
      id
      title
      authorName
    }
  }
}

İzinler

  • Salt okunur görünümler için eylemi read kullanın
  • , createve update yalnızca görünümün güncelleştirilebilir olması durumunda kullanın delete

Sınırlamalar

  • key-fields gereklidir
  • Görünümler ilişkileri desteklemez
  • Görünüm bir tablo gibi davranırsa sayfalandırma, filtreleme ve sıralama desteklenir