支持视图作为数据 API 生成器(DAB)中的表的替代项。 可以通过具有最少配置的 REST 终结点公开视图。
配置
显示视图:
- 将
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" ]
}
]
}
REST 行为
- 支持所有 REST 谓词:
GET、、POSTPUT、PATCH、DELETE - 默认行为与基于表的实体相同
- 仅当视图可更新且设置适当的权限时,操作才会成功
示例请求
GET /api/BookDetail/id/42
返回vw_books_details中具有id = 42的行。
权限
- 对只读视图使用
read操作 - 仅当视图可更新时,使用
create,update和delete
局限性
-
key-fields为必需项 - 视图不支持关系
- 如果视图的行为类似于表,则支持分页、筛选和排序