<portal_uri>/groups[.<format>]
groupsApply、groupsInvite、groupsNameVerify、groupsStatus、group
groups 资源是群组资源管理器,包含当前用户有权限查看的群组资源的集合,支持创建群组,支持批量删除群组。群组创建者(确保处于登录状态)可以删除自己创建的群组,系统管理员(确保处于登录状态)可以删除所有用户创建的群组。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。
http://supermapiportal:8190/iportal/web/groups.rjson
获取当前用户有权限查看的群组列表信息。
如果参数未设置,则返回当前用户有权限查看的当前第一页中的群组列表信息,设置参数后,会返回用户指定的群组列表信息,请求参数必须包含在 URI 中。
名称 | 类型 | 含义 |
tags | String[] | 根据群组标签查询。 |
userNames | String[] | 根据群组创建者名称查询。 |
isPublic | Boolean | 根据群组是否公开的状态查询。 |
orderBy | GroupOrderBy | 根据群组的排序类型查询。 |
joinTypes | JoinType[] | 根据群组的类型查询,包含:CREATE(我创建的)、JOINED(我已加入的)、CANJOIN(我可加入的) |
keywords | String[] | 根据关键词查询。 |
filterFields | FilterFields[] | 用于关键字查询时的字段过滤。字段名称需大写。例如:根据群组名称的关键字符过滤,则需要设置 keywords=["FA"]&filterFields=["GROUPNAME"]。 |
对 groups 资源执行 GET 请求,返回当前用户有权限查看的群组列表。由以下字段组成:
字段 | 类型 | 说明 |
content | List<GroupBasicInfo> | 页面内容。 |
currentPage | int | 当前第几页。 |
pageSize | int | 每页大小。 |
searchParameter | SearchParameter | 当前页搜索参数。 |
total | int | 总记录数。 |
totalPage | int | 总页数。 |
对 groups 资源:http://localhost:8190/iportal/web/groups.rjson 执行 GET 请求,返回 rjson 格式的资源表述如下:
{
"content": [
{
"createTime": 1461721285156,
"creator": "admin",
"description": "",
"groupName": "FA",
"icon": null,
"id": 1,
"isEnabled": true,
"isNeedCheck": true,
"isPublic": true,
"nickname": "admin",
"resourceSharer": "MEMBER",
"tags": [
"iPortal"
],
"updateTime": 1461721285156
},
{
"createTime": 1461721383744,
"creator": "user1",
"description": "",
"groupName": "FB",
"icon": null,
"id": 2,
"isEnabled": true,
"isNeedCheck": true,
"isPublic": true,
"nickname": "user1",
"resourceSharer": "MEMBER",
"tags": [
"iserver"
],
"updateTime": 1461721383744
}
],
"currentPage": 1,
"pageSize": 9,
"searchParameter": {
"currentPage": 1,
"currentUser": null,
"filterFields": null,
"isEnabled": true,
"isPublic": null,
"joinTypes": null,
"keywords": null,
"orderBy": null,
"orderType": "ASC",
"pageSize": 9,
"returnCanJoin": false,
"returnCreate": false,
"returnJoined": false,
"tags": null,
"userNames": null
},
"total": 2,
"totalPage": 1
}
如果希望获取指定的群组列表信息,如根据群组名称的关键字符过滤,则需要设置 keywords=["FA"]&filterFields=["GROUPNAME"],即对 groups 资源:http://localhost:8190/iportal/web/groups.rjson? keywords=["FA"]&filterFields=["GROUPNAME"]执行 GET 请求,返回的 rjson 格式的资源表述如下:
{
"content": [
{
"createTime": 1461721285156,
"creator": "admin",
"description": "",
"groupName": "FA",
"icon": null,
"id": 1,
"isEnabled": true,
"isNeedCheck": true,
"isPublic": true,
"nickname": "admin",
"resourceSharer": "MEMBER",
"tags": [
"iPortal"
],
"updateTime": 1461721285156
}
],
"currentPage": 1,
"pageSize": 9,
"searchParameter": {
"currentPage": 1,
"currentUser": null,
"filterFields": [
"GROUPNAME"
],
"isEnabled": true,
"isPublic": null,
"joinTypes": null,
"keywords": [
"FA"
],
"orderBy": null,
"orderType": "ASC",
"pageSize": 9,
"returnCanJoin": false,
"returnCreate": false,
"returnJoined": false,
"tags": null,
"userNames": null
},
"total": 1,
"totalPage": 1
}
创建新的群组。
发送请求时,需要在请求体中传递如下参数:
名称 | 类型 | 含义 |
icon | String | 群组的图标。可以为空值:null。为空值表示不上传群组图标,采用默认的图标。 |
tags | List<String> | 群组的标签。 |
groupName | String | 群组名称。 |
isPublic | Boolean | 群组的类型。 其值为 true:表示公开, 值为:false:表示私有。 |
description | String | 群组的描述信息。 |
resourceSharer | GroupRole | 群组的资源分享者,决定群组中哪些角色的用户可共享资源到该群组。注意:枚举值 GROUPMANAGER 暂时是无效参数。 |
isNeedCheck | Boolean | 申请加入群组时是否需要审核,默认值为:true,需要审核。 |
返回的资源表述结构如下:
字段 | 类型 | 说明 |
newResourceID | String | 创建新群组的 id。 |
newResourceLocation | String | 创建新群组的 URI。 |
succeed | boolean | 创建新群组是否成功。 |
对 groups 资源:http://localhost:8190/iportal/web/groups.rjson 执行 POST 请求,创建新的群组,发送请求体如下:
{
"icon": "resources/groupicons/iLogoa729262d4924e91b34e251c99d24dde.png",
"tags": [
"map"
],
"groupName": "iPortal",
"isPublic": false,
"description": "",
"resourceSharer": "CREATOR",
"isNeedCheck": false
}
则返回的 rjson 格式响应结果如下:
{
"succeed": true,
"newResourceID": "20",
"newResourceLocation": "http://localhost:8190/iportal/web/groups/20"
}
删除群组,支持批量删除群组。url 中传递需要删除群组的 id 数组。群组创建者(确保处于登录状态)可以删除自己创建的群组,系统管理员(确保处于登录状态)可以删除所有用户创建的群组。
返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed | boolean | 删除群组是否成功。 |
error | Httperror | 出错信息,如果删除群组成功,则没有本字段。 |
对 groups 资源:http://localhost:8190/iportal/web/groups.rjson?ids=[1,2] 执行 DELETE 请求,批量删除 id 为 1 和 2 的两个群组,返回的 rjson 格式响应结果如下:
{ "succeed": true}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 groups 资源是否存在,或者客户端是否有权限访问 groups 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 groups 资源是否支持<format>格式的表述。