REST API文档
权限管理
系统管理员
查看系统管理员
- 请求 URL:
/api/system_admins
返回所有用户 - 请求 URL:
/api/system_admins/$id
返回指定 ID 的用户 - 请求方式:
GET
- 返回值: 用户对象,如果找不到会返回 HTTP 状态码
404
。
返回值 | 结果 |
---|---|
JSON 字符串 | 成功 |
404 | 失败 |
示例:
GET /api/system_admins/1
返回:
{ "login": "admin", "extn_id": 0, "tel": "", "last_login_at": "2022-05-17 12:07:11", "cid_name": "", "is_super": 1, "ha1": "fd4500fcb6ccd4ee87d5debac892ac59", "deleted_at": "", "updated_at": "2022-05-17 12:07:11", "vm_password": "", "created_at": "2022-05-16 09:51:33", "agent_info": "{}", "extn": "admin", "tel_enabled": 0, "email": "", "domain": "demo.xswitch.cn", "auto_record": 0, "cid_number": "", "ha1b": "747e17632f2443bfdbef0113eba4a266", "type": "", "context": "context-1", "id": 1, "name": "Admin", "password": "admin" }
- curl 示例:
curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/system_admins/1
创建新管理员
- 请求 URL:
/api/users
- 请求方式:
POST
- 消息头:
Content-Type: application/json
- Body 信息: 参见用户信息说明。
- 返回值:
正常返回一个 JSON Object。
返回字段 | 必选 | 类型 | 备注 |
---|---|---|---|
id | 是 | string | 用户 ID |
如果出错,返回 HTTP 状态码如403
、500
等,详见HTTP 状态码参考及JSON 返回格式参考。
示例:
POST /api/users
Body:
{ "extn": "1234", "name": "1234", "cid_name": "1234", "login": "1234", "is_super": "1", // 是否是超级管理员,0否,1是 "password": "$VeryGoodPassw0rd" }
- curl 示例:
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \ -d '{"extn":"1234","name":"1234","cid_name":"1234","is_super":"1","password":"$VeryGoodPassw0rd"}' \ -H "Content-Type: application/json" 192.168.0.1:8081/api/users
返回
{ "code": 200, "data": { "id": "32", "extn_id": "32" }, "message": "success" }
修改系统管理员
- 请求 URL:
/api/system_admins/$id
- 请求方式:
PUT
- 消息头:
Content-Type: application/json
- Body 信息:参见用户信息说明
- 返回值: 对象,包含被修改的用户的 ID,如:
{"id": "3"}
- 示例:
PUT http://192.168.1.100:8081/api/system_admins/3
Body:
{ "is_super": "1" }
- curl 示例:
curl -XPUT -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \ -H "Content-Type: application/json" \ -d '{"is_super": "1"}' \ 192.168.1.100:8081/api/system_admins/32
返回:
{ "id": "32" }
删除系统管理员
- 请求 URL:
/api/system_admins/id
- 请求方式:
DELETE
- 消息头:无
- 返回值:对象,包含被删除用户的 ID,如
{"id": "3"}
。 - 示例:
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE 192.168.1.100:8081/api/system_admins/32
返回:
{ "id": "32" }
系统角色
查看系统管理员
- 请求 URL:
/api/system_roles
返回所有系统角色 - 请求 URL:
/api/system_roles/$id
返回指定 ID 的系统角色 - 请求方式:
GET
- 返回值: 用户对象,如果找不到会返回 HTTP 状态码
404
。
返回值 | 结果 |
---|---|
JSON 字符串 | 成功 |
404 | 失败 |
示例:
GET /api/system_roles
返回:
{ "page": 1, "rowCount": 3, "data": [ { "description": "", "role_type": 1, "updated_at": "2022-05-16 09:51:33", "id": 1, "created_by": "system", "created_at": "2022-05-16 09:51:33", "permission_type": 0, "name": "超级管理员" }, { "description": "", "role_type": 1, "updated_at": "2022-05-16 09:51:33", "id": 2, "created_by": "system", "created_at": "2022-05-16 09:51:33", "permission_type": 0, "name": "高级管理员" }, { "description": "", "role_type": 1, "updated_at": "2022-05-16 09:51:33", "id": 3, "created_by": "system", "created_at": "2022-05-16 09:51:33", "permission_type": 0, "name": "普通管理员" } ], "pageCount": 1 }
- curl 示例:
curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/system_roles
创建新系统角色
- 请求 URL:
/api/system_roles
- 请求方式:
POST
- 消息头:
Content-Type: application/json
- Body 信息: 参见用户信息说明。
- 返回值:
正常返回一个 JSON Object。
返回字段 | 必选 | 类型 | 备注 |
---|---|---|---|
id | 是 | string | 用户 ID |
如果出错,返回 HTTP 状态码如403
、500
等,详见HTTP 状态码参考及JSON 返回格式参考。
其它说明:
示例:
POST /api/system_roles
Body:
{ "name": "行政管理员", //角色名称 "description": "行政" //描述 }
- curl 示例:
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \ -d '{"name":"行政管理员"}' \ -H "Content-Type: application/json" 192.168.0.1:8081/api/system_roles
返回
{ "code": 200, "data": { "name": "行政管理员", "permission_type": "", "created_by": "system", "role_type": "", "id": "4", "created_at": "2022-05-17 13:44:25", "description": "行政", "updated_at": "2022-05-17 13:44:25" }, "message": "success" }
修改系统角色
- 请求 URL:
/api/system_roles/$id
- 请求方式:
PUT
- 消息头:
Content-Type: application/json
- Body 信息:参见用户信息说明
- 返回值: 对象,包含被修改的系统的 ID,如:
4
- 示例:
PUT http://192.168.1.100:8081/api/system_roles/4
Body:
{ "name": "测试" //只能修改名称,其他参数不能修改 }
- curl 示例:
curl -XPUT -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" \ -H "Content-Type: application/json" \ -d '{"name": "测试"}' \ 192.168.1.100:8081/api/system_roles/4
返回:
{ "code": 200, "message": "success", "data": "4" }
删除系统角色
- 请求 URL:
/api/system_roles/id
- 请求方式:
DELETE
- 消息头:无
- 返回值:
- 示例:
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE 192.168.1.100:8081/api/system_roles/4
返回:
{ "data": "4", "code": 200, "message": "success" }
获取角色的用户列表
请求 URL:
api/system_roles/:role_id/users
请求方式:
GET
请求参数:
名称 描述 remain 表示获取剩余的没有被分配到这个角色的用户列表 page 当前页数 perPage 每页数量 curl 示例:
curl -XGET -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" 192.168.1.100:8081/api/system_roles/1/users
- 返回示例
成功
//HTTP Code 200 { "pageCount": 1, "data": [ { "name": "Admin", "id": "1" }, { "name": "1001", "id": "3" } ], "page": 1, "rowCount": 2 }
不存在则返回
{ "pageCount": 0, "data": [], "page": 0, "rowCount": 0 }
将用户组中所有的用户设置为对应角色
请求 URL:
/api/system_roles/:role_id/group_users
请求方法:
POST
请求参数: 参数为一个包含 group id 的数组
名称 描述 group_id 用户组 ID curl 示例:
curl -XPOST -H "X-XTRA-AUTH-ID: 69ee9c54-734b-11e7-a262-b5df20245f60" \ -d '[{"group_id":1},{"group_id":2}]' \ -H "Content-Type: application/json" http://192.168.1.100:8081/api/system_roles/3/group_users
[{ "group_id": 1 }, { "group_id": 2 }]
- 返回值
{ "message": "success", "code": 200, "data": [] }
从角色中删除用户
- 请求 URL:
/api/system_roles/id/users/:params_id
- 请求方式:
DELETE
- 消息头:无
- 返回值:
- 示例:
curl -0 -H "X-XTRA-AUTH-ID: 62dd0173-4916-4b1c-b958-546e4d7c91fe" -XDELETE 192.168.1.100:8081/api/system_roles/1/users/1
返回:
{ "code": 200, "message": "success", "data": "1" }