GraphQL API 中的資料庫檢視

檢視功能在資料 API 建構器(DAB)中支援作為資料表的替代方案。 檢視可以透過 GraphQL 端點以最少設定方式公開。

Configuration

為了展示一個觀點:

  • source.type 設定為 "view"
  • 設定 source.object 為完全限定的視圖名稱
  • 要唯一識別一列,定義 key-fields
  • 使用 "read" 動作授予權限(若視圖可更新,則可選擇 "create""update""delete"

CLI 範例

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

設定範例

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

GraphQL 運作行為

  • 檢視以 GraphQL 類型呈現
  • 查詢始終受到支援
  • 只有當視圖可更新時,才支援突變
  • 遵循標準 DAB GraphQL 結構

範例查詢

{
  bookDetails {
    items {
      id
      title
      authorName
    }
  }
}

許可

  • 使用 read 動作來顯示只讀視圖
  • 請使用 createupdate,且 delete 僅當視圖可更新時

局限性

  • key-fields 是必須的項目
  • 觀點不支持關係
  • 如果視圖如同表格一樣運作,則支援分頁、篩選和排序