Batch Rest API¶
Batch operations allow to run multiple insert, update and delete at the same time over rules and admin rules. All the operations are executed in a single transaction: this means that either all of them are successful or all the operations are rolled back.
Security¶
The Geofence REST API is only accessible to users with the role ROLE_ADMIN.
Input/Output¶
Data Object Transfer¶
Both XML and JSON are supported for transfer of data objects. The default is XML. Alternatively, JSON may be used by setting the Content-Type and Accept HTTP headers to application/json in your requests.
A Batch data object transfer must declare a list of operations. Each operation needs to declare:
The
servicename (rulesfor a Rule operation oradminrulesfor an AdminRule operation).The
typeof the operation (insert,update,delete).The
idof the entity over which the operation is being performed in case of anupdateordeletetypes.The
RuleorAdminRuledata object transfer in case ofinsertorupdateoperation.
Encoding of a Batch in XML:
<Batch>
<operations service="rules" id="2" type="update">
<Rule id="2">
<access>ALLOW</access>
<layer>layer</layer>
<priority>5</priority>
<request>GETMAP</request>
<roleName>ROLE_AUTHENTICATED</roleName>
<service>WMS</service>
<workspace>ws</workspace>
</Rule>
</operations>
<operations service="rules" id="5" type="delete" />
<operations service="adminrules" type="insert">
<RuleAdmin>
<priority>2</priority>
<roleName>ROLE_USER</roleName>
<workspace>ws</workspace>
<access>ADMIN</access>
</RuleAdmin>
</operations>
</Batch>
Encoding of a Batch in JSON:
{
"Batch":{
"operations":[
{
"@service":"adminrules",
"@type":"update",
"@id":"3",
"Rule":{
"access":"ALLOW",
"layer":"layer",
"priority":5,
"request":"GETMAP",
"service":"WMS",
"roleName":"ROLE_AUTHENTICATED",
"workspace":"ws"
}
},
{
"@service":"rules",
"@type":"delete",
"@id":5
},
{
"@service":"adminrules",
"@type":"insert",
"AdminRule":{
"priority":2,
"roleName":"ROLE_USER",
"workspace":"ws",
"access":"ADMIN"
}
}
]
}
}