...
Main focus on redesign REST interface was :
...
to apply RESTful Best Practices
- use HTTP operations instead of URL encoded operation names
- GET does not modify any object (read-only safety operation)
- PUT and DELETE are idempotent operations
...
- PUT and DELETE do not return (old) object any longer, except for Roles and Users, since they contain propagation status information
- CREATE operations return location URL in header for newly created object
- In addition to that unique identifier of resource is also send in response header (
org.apache.syncope.resource.id
)
- In addition to that unique identifier of resource is also send in response header (
While redesigning interface, we also made changes to exception handling
In the near feature I would also like to replace the current search NodeCond with FIQL searchqueries.
There are some also suggestions regarding remote exceptions propagation.
Configuration Service
Old URL | New URL | Comment |
---|---|---|
POST /configuration/create | POST /configurations | Creates a new Configuration. |
GET /configuration/delete/{key} | DELETE /configurations/{key} | Deletes configuration with matching key. |
GET /configuration/list | GET /configurations | Returns a list of all configuration elements. |
GET /configuration/read/{key} | GET /configurations/{key} | Returns configuration element with matching key. |
POST /configuration/update | PUT /configurations/{key} | Overwrites configuration element with matching key. |
GET /configuration/validators | GET /configurations/validators | Returns a list of known validators. |
GET /configuration/mailTemplates | GET /configurations/mailTemplates | Returns a list of known mail-templates. |
GET /configuration/dbexport | GET /configurations (Accept: application/octet-stream) | Returns configuration as an downloadable content.xml database export file. |
...