groups


URI

<portal_uri>/groups[.<format>]

支持的方法

GETPOSTDELETEHEAD

父资源

portal

子资源

groupsApplygroupsInvitegroupsNameVerifygroupsStatusgroup

介绍

groups 资源是群组资源管理器,包含当前用户有权限查看的群组资源的集合,支持创建群组,支持批量删除群组。群组创建者(确保处于登录状态)可以删除自己创建的群组,系统管理员(确保处于登录状态)可以删除所有用户创建的群组。

支持的方法:

支持的表述格式:RJSON、JSON、HTML、XML。

资源层次

HTTP 请求方法

对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。

http://supermapiportal:8190/iportal/web/groups.rjson

GET 请求

获取当前用户有权限查看的群组列表信息。

请求参数

如果参数未设置,则返回当前用户有权限查看的当前第一页中的群组列表信息,设置参数后,会返回用户指定的群组列表信息,请求参数必须包含在 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

}

POST 请求

创建新的群组。

请求参数

发送请求时,需要在请求体中传递如下参数:

名称 类型 含义
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"

}

DELETE 请求

删除群组,支持批量删除群组。url 中传递需要删除群组的 id 数组。群组创建者(确保处于登录状态)可以删除自己创建的群组,系统管理员(确保处于登录状态)可以删除所有用户创建的群组。

响应结构

返回的资源表述结构如下:

字段 类型 说明
succeed boolean 删除群组是否成功。
error Httperror 出错信息,如果删除群组成功,则没有本字段。

响应示例

对 groups 资源:http://localhost:8190/iportal/web/groups.rjson?ids=[1,2] 执行 DELETE 请求,批量删除 id 为 1 和 2 的两个群组,返回的 rjson 格式响应结果如下:

{ "succeed": true}

HEAD 请求

返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。

HEAD 请求可以用来判断 groups 资源是否存在,或者客户端是否有权限访问 groups 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 groups 资源是否支持<format>格式的表述。

请参见