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":[{..},{..},..]}

过滤器参数

所有过滤器参数都是可选的。

名字

类型

描述

第页

用于对规则列表进行分页。指定页的编号。不要传呼。如果有规定, entries 也应指定。

条目

用于分页规则列表。指定每页的条目数。不要传呼。如果指定, page 也应指定。

用户名

一串

用户名的筛选规则(不包括所有其他指定的用户名)。

用户任意

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。创建 ID 标题。

/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好。