GeoFence休息API¶
安全性¶
geofirence rest api只能由具有“管理员”角色的用户访问。
输入/输出¶
数据对象传输¶
XML和JSON都支持数据对象的传输。默认值为XML。或者,可以通过将请求中的“content-type”(post)和“accept”(get)HTTP头设置为“application/json”来使用json。
规则的XML编码::
<Rule>
<id>..</id>
<priority>..</priority>
<userName>..</userName>
<roleName>..</roleName>
<workspace>..</workspace>
<layer>..</layer>
<service>..</service>
<request>..</request>
<subfield>..</subfield>
<access> ALLOW | DENY | LIMIT </access>
<!-- for LIMIT access rules-->
<limits>
<allowedArea>..</allowedArea>
<catalogMode> HIDE | CHALLENGE | MIXED </catalogMode>
</limits>
<!-- for ALLOW access rules with specified layer -->
<layerDetails>
<layerType> VECTOR | RASTER | LAYERGROUP </layerType>
<defaultStyle>..</defaultStyle>
<cqlFilterRead>..</cqlFilterRead>
<cqlFilterWrite>..</cqlFilterWrite>
<allowedArea>..</allowedArea>
<catalogMode> HIDE | CHALLENGE | MIXED </catalogMode>
<allowedStyle>..</allowedStyle>
..
<attribute>
<name>..</name>
<datatype>..</datatype>
<accessType> NONE | READONLY | READWRITE </accessType>
</attribute>
..
</layerDetails>
</Rule>
JSON中规则的编码:
{"Rule": {"id":..,"priority":..,"userName":"..","roleName":"..","workspace":"..","layer":"..","service":"..","request":"..","subfield":"..","access":".."}}
如果某个规则对某个特定字段具有“any”(“*”),则该字段要么不包含(默认),要么保留为空,要么用一个星号指定(后两个可用于更新,以区分“不更改此字段”)。
用XML编码规则列表:
<Rules count="n">
<Rule> ... </Rule>
<Rule> ... </Rule>
...
</Rules>
计数的结果将不包括实际的<rule>标记。
JSON中规则列表的编码:
{"count":n,"rules":[{..},{..},..]}
过滤器参数¶
所有过滤器参数都是可选的。
名字 |
类型 |
描述 |
---|---|---|
第页 |
数 |
用于对规则列表进行分页。指定页的编号。不要传呼。如果有规定, |
条目 |
数 |
用于分页规则列表。指定每页的条目数。不要传呼。如果指定, |
用户名 |
一串 |
用户名的筛选规则(不包括所有其他指定的用户名)。 |
用户任意 |
0或1。 |
指定是否包含“any”用户名的规则。 |
角色名 |
一串 |
对rolename筛选规则(不包括所有其他指定的rolename)。 |
劳莱尼 |
0或1。 |
指定是否包含“any”rolename的规则。 |
服务 |
一串 |
服务的筛选规则(不包括所有其他指定的服务)。 |
服务任何 |
0或1。 |
指定是否包含“any”服务的规则。 |
请求 |
一串 |
根据请求筛选规则(不包括所有其他指定的请求)。 |
请求者 |
0或1。 |
指定是否包含“any”请求的规则。 |
工作区 |
一串 |
工作区上的筛选规则(不包括所有其他指定的工作区)。 |
工作区 |
0或1。 |
指定是否包含“any”工作区的规则。 |
图层 |
一串 |
筛选层上的规则(不包括所有其他指定层)。 |
压条 |
0或1。 |
指定是否包含“any”层的规则。 |
请求¶
/rest/geofence/rules/
¶
查询所有规则或添加新规则。
方法 |
行动 |
支持的参数 |
响应 |
---|---|---|---|
GET |
列出与任何添加的筛选器相关的所有规则 |
page、entries、username、userany、rolename、roleany、service、serviceany、request、requestany、workspace、workspaceany、layer、layerany |
200好。XML中的规则列表。 |
POST |
添加新规则 |
没有 |
插入201。创建 |
/rest/geofence/rules/count
¶
计数(筛选)规则。
方法 |
行动 |
支持的参数 |
响应 |
---|---|---|---|
GET |
对所有添加的筛选器计算所有规则 |
用户名、userany、rolename、roleany、service、serviceany、request、requestany、workspace、workspaceany、layer、layerany |
200好。XML中的规则列表计数。 |
/rest/geofence/rules/id/<id>
¶
查询、修改或删除特定规则。
方法 |
行动 |
支持的参数 |
响应 |
---|---|---|---|
GET |
读取规则信息 |
没有 |
200好。XML中的规则。 |
POST |
修改规则,未指定的字段保持不变。 |
没有 |
200好。 |
DELETE |
删除规则 |
没有 |
200好。 |