Tampilan database di API GraphQL

Tampilan didukung sebagai alternatif untuk tabel di Penyusun API Data (DAB). Tampilan dapat diekspos melalui titik akhir GraphQL dengan konfigurasi minimal.

Konfigurasi

Untuk mengekspos tampilan:

  • Atur source.type ke "view"
  • Atur source.object ke nama tampilan yang sepenuhnya memenuhi syarat
  • Untuk mengidentifikasi baris secara unik, tentukan key-fields
  • Berikan izin menggunakan "read" tindakan (dan opsional "create", "update", "delete" jika tampilan dapat diperbarui)

Contoh CLI

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

Contoh konfigurasi

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

Perilaku GraphQL

  • Tampilan ditampilkan sebagai tipe GraphQL
  • Kueri selalu didukung
  • Mutasi hanya didukung jika tampilan dapat diperbarui
  • Mengikuti struktur skema DAB GraphQL standar

Contoh kueri

{
  bookDetails {
    items {
      id
      title
      authorName
    }
  }
}

Permissions

  • Gunakan aksi read untuk tampilan hanya-baca
  • Gunakan create, update, dan delete hanya jika tampilan dapat diperbarui

Keterbatasan

  • key-fields diperlukan
  • Tampilan tidak mendukung hubungan
  • Penomoran halaman, pemfilteran, dan pengurutan didukung jika tampilan bersifat seperti tabel