<portal_uri>/apps[.<format>]
app、appsShareSetting、appsCheckStatus、appsCheckInfos
apps 资源是当前用户有权限查看的应用程序列表,支持注册一个新的应用程序,支持批量删除应用程序。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。
http://supermapiportal:8190/iportal/web/apps.rjson
获取当前用户有权限查看的应用程序列表信息。
如果参数未设置,则返回当前用户有权限查看的当前第一页中的应用程序列表信息,设置参数后,会返回用户指定的应用程序列表信息,请求参数必须包含在 URI 中。
名称 | 类型 | 含义 |
userNames | String[] | 根据应用注册者名称查询。 |
tags | String[] | 根据应用标签过滤。 |
type | AppType | 根据应用类型过滤。 |
currentUser | User | 根据当前登录的用户过滤。 |
orderBy | AppOrderBy | 根据排序类型过滤。 |
orderType | OrderType | 根据升序还是降序过滤。 |
keywords | String[] | 根据关键词查询。 |
shareToMe | Boolean | 是否查询直接分享给我的资源。该参数已过期。 |
searchScope | SearchScope | 根据共享范围过滤。 |
permissionType | String | 根据权限类型过滤。权限类型包括 SEARCH(可检索)、READ(可查看)、DELETE(可删除)。 |
isNotInDir | Boolean | 根据是否是未分组的进行过滤,默认值为 false。如果为 true,则返回所有未分组的场景列表信息;如果为 false,则返回全部的场景列表信息。
未分组是指未添加到目录中的场景列表资源。 |
returnSubDir | Boolean | 是否查询子目录的资源。true 表示返回当前查询目录及其子目录的资源,false 表示仅返回当前目录的资源。 |
filterFields | FilterFields[] | 用于关键字查询时的字段过滤。字段名称需大写。例如:根据应用名称的关键字符过滤,则需要设置 keywords=["231"]&filterFields=["APPNAME"]。 |
pageSize | int | 根据分页大小过滤。 |
dirIds | Integer[] | 根据目录 id 过滤。 |
checkStatus | CheckStatus | 根据审核状态过滤。 |
currentPage | int | 根据分页页码过滤。 |
createStart | Long | 查询此时间值及此时间值之后创建的应用,如果为null或者小于0,则起始时间不限制。 |
createEnd | Long | 查询此时间值及此时间值之前创建的应用,如果为null或者小于0,则截止时间不限制。 |
对 apps 资源执行 GET 请求,返回当前用户有权限查看的应用程序列表。由以下字段组成:
字段 | 类型 | 说明 |
content | List<IportalApp> | 页面内容。 |
currentPage | int | 当前第几页。 |
pageSize | int | 每页大小。 |
searchParameter | SearchParameter | 当前页搜索参数。 |
total | int | 总记录数。 |
totalPage | int | 总页数。 |
对 apps 资源:http://localhost:8190/iportal/web/apps.rjson 执行 GET 请求,返回 rjson 格式的资源表述如下:
{
"total": 4,
"totalPage": 1,
"pageSize": 9,
"searchParameter": {
"permissionType": null,
"orderType": "ASC",
"keywords": null,
"returnSubDir": null,
"shareToMe": null,
"searchScope": null,
"orderBy": null,
"isNotInDir": false,
"pageSize": 9,
"dirIds": null,
"filterFields": null,
"departmentIds": [],
"type": null,
"createStart": null,
"tags": null,
"checkStatus": null,
"currentUser": null,
"createEnd": null,
"groupIds": [],
"userNames": null,
"currentPage": 1,
"resourceIds": null
},
"currentPage": 1,
"content": [
{
"thumbnail": "http://localhost:8190/iportal/services/../web/static/portal/img/app/defaultThumbnail.jpg",
"address": "http://localhost:8190/iportal/apps/dataviz/edit.html",
"contactInfo": null,
"appName": "DataViz",
"authorizeSetting": null,
"description": "数据上图,方便用户在线制作与协同分享地图资源。",
"updateTime": 1545791449839,
"verifyReason": null,
"userName": "supermap_cloud",
"type": "WEBAPP",
"tags": [
"超图"
],
"checkUser": null,
"checkUserNick": null,
"checkStatus": "SUCCESSFUL",
"checkTime": null,
"createTime": 1502937349060,
"nickname": "supermap_cloud",
"detailImages": null,
"id": 1
},
{
"thumbnail": "http://localhost:8190/iportal/services/../web/static/portal/img/app/defaultThumbnail.jpg",
"address": "http://localhost:8190/iportal/apps/insights/edit.html",
"contactInfo": null,
"appName": "DataInsights",
"authorizeSetting": null,
"description": "数据洞察,对地理数据进行可视化和空间分析,挖掘地理数据价值。",
"updateTime": 1545791449839,
"verifyReason": null,
"userName": "supermap_cloud",
"type": "WEBAPP",
"tags": [
"超图"
],
"checkUser": null,
"checkUserNick": null,
"checkStatus": "SUCCESSFUL",
"checkTime": null,
"createTime": 1502937349060,
"nickname": "supermap_cloud",
"detailImages": null,
"id": 2
},
{
"thumbnail": "http://localhost:8190/iportal/services/../web/static/portal/img/app/defaultThumbnail.jpg",
"address": "http://localhost:8190/iportal/apps/mapdashboard/v2/index.html?action=create",
"contactInfo": null,
"appName": "MapDashboard",
"authorizeSetting": null,
"description": "地图大屏,交互式操作快速创建二三维地图应用。",
"updateTime": 1545791449839,
"verifyReason": null,
"userName": "supermap_cloud",
"type": "WEBAPP",
"tags": [
"超图"
],
"checkUser": null,
"checkUserNick": null,
"checkStatus": "SUCCESSFUL",
"checkTime": null,
"createTime": 1502937349060,
"nickname": "supermap_cloud",
"detailImages": null,
"id": 3
},
{
"thumbnail": "http://localhost:8190/iportal/services/../web/static/portal/img/app/defaultThumbnail.jpg",
"address": "http://localhost:8190/iportal/apps/earth/index.html",
"contactInfo": null,
"appName": "Earth",
"authorizeSetting": null,
"description": "三维地球,在线浏览、制作、保存和分享三维场景。",
"updateTime": 1545791449839,
"verifyReason": null,
"userName": "supermap_cloud",
"type": "WEBAPP",
"tags": [
"超图"
],
"checkUser": null,
"checkUserNick": null,
"checkStatus": "SUCCESSFUL",
"checkTime": null,
"createTime": 1502937349060,
"nickname": "supermap_cloud",
"detailImages": null,
"id": 4
}
]
}
如果希望获取指定的应用列表信息,如根据应用名称的关键字符过滤,则需要设置 keywords=["DataViz"]&filterFields=["APPNAME"],即对 apps 资源:http://localhost:8190/iportal/web/apps.rjson?keywords=["DataViz"]&filterFields=["APPNAME"] 执行 GET 请求,返回的 rjson 格式的资源表述如下:
{
"total": 1,
"totalPage": 1,
"pageSize": 9,
"searchParameter": {
"permissionType": null,
"orderType": "ASC",
"keywords": [
"DataViz"
],
"returnSubDir": null,
"shareToMe": null,
"searchScope": null,
"orderBy": null,
"isNotInDir": null,
"pageSize": 9,
"dirIds": null,
"filterFields": [
"APPNAME"
],
"departmentIds": [],
"type": null,
"createStart": -1,
"tags": null,
"checkStatus": null,
"currentUser": null,
"createEnd": -1,
"groupIds": [],
"userNames": null,
"currentPage": 1,
"resourceIds": null
},
"currentPage": 1,
"content": [
{
"thumbnail": "http://localhost:8190/iportal/services/../web/static/portal/img/app/defaultThumbnail.jpg",
"address": "http://localhost:8190/iportal/apps/dataviz/edit.html",
"contactInfo": null,
"appName": "DataViz",
"authorizeSetting": null,
"description": "数据上图,方便用户在线制作与协同分享地图资源。",
"updateTime": 1545791449839,
"verifyReason": null,
"userName": "supermap_cloud",
"type": "WEBAPP",
"tags": [
"超图"
],
"checkUser": null,
"checkUserNick": null,
"checkStatus": "SUCCESSFUL",
"checkTime": null,
"createTime": 1502937349060,
"nickname": "supermap_cloud",
"detailImages": null,
"id": 1
}
]
}
注册一个新的应用程序。
发送请求时,需要在请求体中传递如下参数:
名称 | 类型 | 含义 |
tags | List<String> | 注册的应用程序的标签。 |
appName | String | 注册的应用程序的名称。 |
address | String | 注册的应用程序的地址。 |
description | String | 注册的应用程序的描述信息。 |
type | AppType | 注册的应用程序的类型。 |
contactInfo | ContactInfo | 注册的应用程序的联系人信息。 |
detailImages | String[] | 注册的应用程序的图片。 |
thumbnail | String | 注册的应用程序的缩略图。 |
authorizeSetting | List<IportalAuthorizeEntity> | 授权信息。应用的权限类型包括:DELETE(查看/编辑/删除)、READ(查看)、READWRITE(查看/编辑)。 |
返回的资源表述结构如下:
字段 | 类型 | 说明 |
newResourceID | String | 注册新应用的 id。 |
newResourceLocation | String | 注册新应用的 URI。 |
succeed | boolean | 注册新应用是否成功。 |
对 apps 资源:http://localhost:8190/iportal/web/apps.rjson 执行 POST 请求,注册一个新的应用程序,发送请求体如下:
{
"detailImages": [],
"tags": [
"超图"
],
"appName": "doc",
"address": "http://doc.iserver.com",
"thumbnail": "",
"description": "",
"type": "WEBAPP",
"authorizeSetting": [
{
"permissionType": "READ",
"entityType": "USER",
"entityName": "GUEST",
"entityId": null
}
],
"contactInfo": {
"contactUser": "",
"contactOrganization": "",
"email": ""
}
则返回的 rjson 格式响应结果如下:
{
"succeed": true,
"newResourceID": "3",
"newResourceLocation": "http://localhost:8190/iportal/web/apps/3"
}
删除应用程序,支持批量删除应用程序。url 中传递需要删除应用程序的 id 数组。
返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed | boolean | 删除应用程序是否成功。 |
error | Httperror | 出错信息,如果删除应用程序成功,则没有本字段。 |
对 apps 资源:http://localhost:8190/iportal/web/apps.rjson?ids=[1,2] 执行 DELETE 请求,批量删除 id 为 1 和 2 的两个应用程序,返回的 rjson 格式响应结果如下:
{ "succeed": true}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 apps 资源是否存在,或者客户端是否有权限访问 apps 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 apps 资源是否支持<format>格式的表述。