共用方式為


在資料 API 產生器中使用檢視

支援在 DAB 中將檢視作為表格的替代選項。 檢視可以透過 REST 或 GraphQL 端點公開,並具有最少的設定。

設定

若要顯示檢視:

  • source.type 設定為 "view"
  • 設定 source.object 為完整檢視名稱
  • 定義 key-fields 以唯一識別列
  • 使用"read"動作來授予許可權(如果檢視可更新的話,可以選擇 "create", "update", "delete"

CLI 範例

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

設定範例

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

REST 支援

  • 支援所有 REST 動詞:GETPOSTPUT、、 PATCHDELETE
  • 預設行為與資料表支援的實體相同
  • 只有在檢視可更新且已設置適當的權限時,操作才會成功。

範例請求

GET /api/BookDetail/42

vw_books_details中傳回符合id = 42的資料列。

GraphQL 支援

  • 視圖作為 GraphQL 型別出现
  • 查詢始終受到支援
  • 只有在視圖可更新時,才支援突變
  • 遵循標準 DAB GraphQL 架構描述

權限

  • 使用 read 唯讀檢視的動作
  • 僅在檢視可更新時使用 createupdatedelete

局限性

  • key-fields 是必需的
  • 檢視不支援關聯性
  • 如果檢視的行為類似於表格,則支援分頁、篩選和排序