支援在 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 動詞:
GET、POST、PUT、、PATCHDELETE - 預設行為與資料表支援的實體相同
- 只有在檢視可更新且已設置適當的權限時,操作才會成功。
範例請求
GET /api/BookDetail/42
從vw_books_details中傳回符合id = 42的資料列。
GraphQL 支援
- 視圖作為 GraphQL 型別出现
- 查詢始終受到支援
- 只有在視圖可更新時,才支援突變
- 遵循標準 DAB GraphQL 架構描述
權限
- 使用
read唯讀檢視的動作 - 僅在檢視可更新時使用
create、update和delete
局限性
-
key-fields是必需的 - 檢視不支援關聯性
- 如果檢視的行為類似於表格,則支援分頁、篩選和排序