<myData_uri>/publishstatus[.<format>]
publishStatus 资源是服务(通过上传数据发布的服务)的发布状态资源。通过发送 GET 请求,可以查询服务(通过上传数据发布的服务)的发布状态。通过发送 PUT 请求,可以更新服务(通过上传数据发布的服务)的发布状态,包括:发布服务、重新发布服务、取消单个服务的发布(即:删除单个服务)、取消全部服务的发布(即:删除指定数据发布的全部服务),下面将分别介绍这几种发布状态。
支持的方法:
支持的表述格式:RJSON、JSON、HTML、XML。
对如下 URI 执行 HTTP 请求,以 rjson 输出格式为例加以说明,其中,supermapiportal 是服务器名。
http://supermapiportal:8190/iportal/web/mycontent/datas/{id}/publishstatus.rjson
查询服务(通过上传数据发布的服务)的发布状态。
请求参数必须包含在 URI 中。
名称 | 类型 | 含义 |
forPublish |
Boolean | 查询数据是否发布成了服务。 |
dataServiceId | String | 发布服务的ID,即:serviceId 的值,也是该服务的唯一标识。 |
返回的资源表述结构如下:
字段 | 类型 | 说明 |
succeed | boolean | 查询服务的发布状态是否成功。 |
error | Httperror | 出错信息,如果查询服务的发布状态成功,则没有本字段。 |
对 publishstatus 资源:http://localhost:8190/iportal/web/mycontent/datas/1/publishstatus.rjson?dataServiceId=map_ChengShi0407&forPublish=true 执行 GET 请求,返回的 rjson 格式的资源表述如下:
{"succeed":true}
更新服务(通过上传数据发布的服务)的发布状态。
请求参数
发送请求时,需要在请求体中传递如下参数:
名称 | 类型 | 含义 |
publish |
boolean | true 代表发布,反之,则代表取消发布。 |
此外,还需在 url 中传递如下参数:
名称 | 类型 | 含义 |
serviceType |
DataServiceType | 发布的服务类型,目前支持发布的服务类型包括:RESTDATA, RESTMAP, RESTREALSPACE。 |
dataServiceId |
String | 发布的服务 id。 |
dataServiceName |
String | 发布的服务名称,如果不传递此参数,系统将自动生成服务名称。 |
响应结构
返回的资源表述结构如下:
字段 |
类型 | 说明 |
succeed |
boolean | 是否成功更新发布状态。true 代表更新成功,反之,则更新失败。 |
响应示例
更新服务的发布状态包括:发布服务、重新发布服务、取消单个服务的发布(即:删除单个服务)、取消全部服务的发布(即:删除指定数据发布的全部服务),不同的发布状态传递的参数不同,下面就更新服务的发布状态分别举例说明。
1. 发布服务
用于上传数据发布服务,通过 services 资源的 GET 请求可以查看发布后的服务地址。需要在 url 和请求体中传递如下参数:
对 publishstatus 资源:http://localhost:8190/iportal/web/mycontent/datas/1929877332/publishstatus.json?serviceType=RESTMAP,RESTDATA 执行 PUT 请求,发送的请求体如下:
true
返回 rjson 格式的响应结果为:
{"succeed":true}
2. 重新发布单个服务
用于某个服务发布失败后,重新发布该服务,通过 services 资源的 GET 请求可以查看发布后的服务地址。需要在 url 和请求体中传递如下参数:
对 publishstatus 资源:http://localhost:8190/iportal/web/mycontent/datas/1929877332/publishstatus.json?serviceType=RESTMAP&dataServiceId=map_city 执行 PUT 请求,发送的请求体如下:
true
返回 rjson 格式的响应结果为:
{"succeed":true}
3. 取消发布单个服务(即:删除单个服务)
用于取消发布的单个服务,即:从门户中删除该服务。需要在 url 和请求体中传递如下参数:
对 publishstatus 资源:http://localhost:8190/iportal/web/mycontent/datas/1929877332/publishstatus.json?dataServiceId=map_city 执行 PUT 请求,发送的请求体如下:
false
返回 rjson 格式的响应结果为:
{"succeed":true}
4. 取消指定数据发布的全部服务(即:删除全部服务)
用于取消指定数据发布的全部服务,即:从门户中删除指定数据发布的服务。只需在请求体中传递如下参数:
对 publishstatus 资源:http://localhost:8190/iportal/web/mycontent/datas/1929877332/publishstatus.json 执行 PUT 请求,发送的请求体如下:
false
返回 rjson 格式的响应结果为:
{"succeed":true}
返回跟 GET 请求一样的 HTTP 响应头,但是没有响应实体。可以在不必传输整个响应内容的情况下,获取包含在响应消息头中的元数据信息。元数据信息包括媒体类型,字符编码,压缩编码,实体内容长度等。
HEAD 请求可以用来判断 publishstatus 资源是否存在,或者客户端是否有权限访问 publishstatus 资源。通过对加.<format>的 URI 执行 HEAD 请求,还可以快速判断 publishstatus 资源是否支持<format>格式的表述。