【发布时间】:2020-08-11 04:12:55
【问题描述】:
我在 Angular 中有一个 HTTP 服务,它返回允许特定用户访问的权限。示例响应如下:-
{
"accessId": 4209318492034,
"folderPath": "data/sample_folder/",
"permissions": [
"READ",
"WRITE"
]
}
具体来说,权限字段是一个数组,它将仅包含以下字符串,"READ"(必填)和"WRITE"(可选,可能存在也可能不存在)。
我想使用接口输入这个响应,并且为了强制在权限数组中只存在这些字符串,我创建了一个 Enum,如下所示:-
enum Permissions {
READ = 'READ',
WRITE = 'WRITE'
}
但是在界面中使用它来进行如下响应是行不通的:-
export interface UserAccess {
accessId: string;
folderPath: string;
permissions: Permissions[]
}
如何强制权限数组仅包含来自已定义权限字符串枚举的值?
【问题讨论】:
-
TypeScript 不做运行时的事情:你需要自己在运行时执行检查并在必要时抛出错误。
标签: angular typescript enums