URI
<portalConfig_uri>/departments[.<format>]
支持的方法
父资源
子资源
departmentName、moveDepartment、departmentMembers、departmentAdmins
介绍
departments 资源是组织结构配置资源,通过 GET 请求可以获取门户中所有的组织部门信息,通过 POST 请求可以添加一个部门,通过 PUT 请求,可以模拟 DELETE,删除部门及其子部门,支持批量删除。
支持的方法:
- GET:获取门户中所有的组织部门信息。
- POST:添加一个部门。
- PUT:删除部门及其子部门,支持批量删除。
- HEAD:检查 departments 资源是否存在,或权限是否可以访问 departments 资源。
支持的表述格式:RJSON、JSON、HTML、XML。
资源层次
HTTP 请求方法
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。
http://supermapiportal:8190/iportal/manager/iportalconfig/departments.rjson
GET 请求
获取门户中所有的组织部门信息。
请求参数
参数未设置,默认返回按照部门的创建时间升序排序的部门列表信息,参数设置后,可根据设置的参数返回组织部门列表信息, 请求参数必须包含在 URI 中。
字段 | 类型 | 说明 |
orderBy | DepartmentOrderBy | 按部门的排序字段查询。 |
orderType | OrderType | 按排序时升序/降序查询。 |
响应结构
对 departments 资源执行 GET 请求,返回门户中所有的组织部门列表信息,由以下字段组成:
字段 | 类型 | 说明 |
childs | List<DepartmentLinkedNode> | 部门的子部门列表信息。 |
id | Integer | 部门的 ID 标识。 |
name | String | 部门的名称。 |
createTime | long | 部门创建时间。 |
orderNum | Integer | 部门的序号,用于排序的字段。 |
响应示例
对 departments 资源:http://localhost:8190/iportal/manager/iportalconfig/departments.rjson 执行 GET 请求,获取门户中所有的组织部门信息,返回 rjson 格式的资源表述如下:
[
{
"childs": [
{
"childs": [],
"createTime": 1487663516907,
"id": 2,
"name": "a县环保局",
"orderNum": 11
},
{
"childs": [],
"createTime": 1487663531869,
"id": 3,
"name": "b县环保局",
"orderNum": 12
}
],
"createTime": 1487663320292,
"id": 1,
"name": "A市环保局",
"orderNum": 1
}
]
如果希望获取指定的部门列表信息,如获取按部门序号降序排序,则需设置 orderBy=orderNum,orderType=DESC。即对 departments 资源:http://localhost:8190/iportal/manager/iportalconfig/departments.rjson?orderBy=orderNum&orderType=DESC 执行 GET 请求,则返回的 rjson 资源表述如下:
[
{
"childs": [
{
"childs": [],
"createTime": 1487663531869,
"id": 3,
"name": "b县环保局",
"orderNum": 12
},
{
"childs": [],
"createTime": 1487663516907,
"id": 2,
"name": "a县环保局",
"orderNum": 11
}
],
"createTime": 1487663320292,
"id": 1,
"name": "A市环保局",
"orderNum": 1
}
]
POST 请求
添加一个部门。
请求参数
发送请求时,需要在请求体中传递如下参数:
名称 | 类型 | 含义 |
name | String | 部门名称。 |
parentId | Integer | 新添加部门的上一级部门 ID。 |
orderNum | Integer | 部门的序号,用于排序的字段。 |
响应结构
返回的资源表述结构如下:
字段 | 类型 | 说明 |
postResultType | PostResultType | 添加一个部门。 |
newResourceID | String | 添加部门的 ID。 |
succeed | boolean | 添加部门是否成功。 |
newResourceLocation | String | 添加部门的 url。 |
响应示例
对 departments 资源:http://localhost:8190/iportal/manager/iportalconfig/departments.rjson 执行 POST 请求,添加一个部门,发送请求体如下:
{
"name": "c县环保局",
"orderNum": 16,
"parentId": 1
}
则返回的 rjson 格式响应结果如下:
{
"postResultType": "CreateChild",
"newResourceID": "5",
"succeed": true,
"newResourceLocation": "http://192.168.120.40:8090/iportal/manager/iportalconfig/departments/5.json"
}
PUT 请求
模拟 DELETE,删除部门及其子部门,支持批量删除。请求体中传递的是需要删除部门的 id 数组。
响应结构
返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed | boolean | 删除部门是否成功。 |
error | Httperror | 出错信息,如果删除部门成功,则没有本字段。 |
响应示例
对 departments 资源:http://localhost:8190/iportal/manager/iportalconfig/departments.rjson 执行 PUT 请求,删除一个部门及其子部门,发送请求体如下:
[5]
则返回的 rjson 格式的资源表述如下:
{"succeed": true}
HEAD 请求
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 departments 资源是否存在,或者客户端是否有权限访问 departments 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 departments 资源是否支持<format>格式的表述。
请参见
- portalConfig、moveDepartment、departmentName、departmentMembers、departmentAdmins
- 客户端构建 REST 请求
- 状态码列表及说明
- SuperMap iServer REST API 表述格式介绍
- 资源层次结构