支持视图作为 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、PATCH、DELETE
- 默认行为与由表支持的实体相同
- 仅当视图可更新且设置适当的权限时,作才会成功
示例请求
GET /api/BookDetail/42
返回包含vw_books_detailsid = 42的行。
GraphQL 支持
- 视图显示为 GraphQL 类型
- 系统始终支持查询
- 仅当视图是可更新的时,才支持修改
- 遵循标准 DAB GraphQL 架构结构
权限
- 在只读视图中使用read操作。
- 仅当视图可更新时,使用 create、update和delete
局限性
- 
              key-fields为必需项
- 视图不支持关系
- 如果视图的行为类似于表,则支持分页、筛选和排序