授权定义
# 简述
授权也就是功能权限,是接口的聚合
# 定义
# 示例
示例参考: things/service/apisvr/http/things/device/info.api
@server(
group: things/device/info
prefix: /api/v1/things/device/info
accessCodePrefix: "thingsDeviceInfo" //生成授权code的前缀,如果不填写则会使用group 生成小驼峰
accessNamePrefix: "设备信息" // 授权名称的前缀
accessGroup: "设备管理" //授权组,如果没有这个字段,不会生成授权信息
defaultNeedAuth: "false" //授权默认参数 是否需要授权,不填为false
defaultAuthType: "all" //授权默认参数 默认授权的角色 1(all) 全部人可以操作 2(admin) 默认授予租户管理员权限 3(superAdmin,supper) default租户才可以操作(超管是跨租户的)
middleware: CheckTokenWare,InitCtxsWare
)
service api {
@doc(
summary: "新增设备" //接口的描述
isNeedAuth: "true" //是否需要权限认证
authType: "admin" //默认只授权给管理员
)
@handler create
post /create (DeviceInfo) returns ()
@doc(
summary: "更新设备" //不填为默认值,
)
@handler update
post /update (DeviceInfo) returns ()
@doc(
summary: "删除设备"
isNeedAuth: "true"
authType: "admin"
)
@handler delete
post /delete (DeviceInfoDeleteReq) returns ()
@doc(
summary: "设备控制"
businessType: "control" // 默认代码生成会将 结尾为修改为对应的操作类型组装到授权code中,如果需要特殊的则可以自定义 默认的如下 add:("create", "multi-create", "import") "modify":("update", "multi-update","send") "delete":("delete", "multi-delete") find:("index", "read", "count", "tree") 没有匹配到的则为other
)
@handler control
post /control (DeviceInfoControlReq) returns ()
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# 生成授权json
在服务目录下执行以下命令,注意将api.api换成服务自己的api文件入口,执行完成后会在http文件夹下生成一个access.json文件
goctl api access -api http/api.api -dir ./http
1
# 导入授权
上次更新: 2024/10/31, 17:38:31