[ https://issues.apache.org/jira/browse/SYNCOPE-429?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Francesco Chicchiriccò reassigned SYNCOPE-429: ---------------------------------------------- Assignee: Francesco Chicchiriccò > Support ETag-based conditional requests for users, roles and resources > ---------------------------------------------------------------------- > > Key: SYNCOPE-429 > URL: https://issues.apache.org/jira/browse/SYNCOPE-429 > Project: Syncope > Issue Type: Improvement > Reporter: Francesco Chicchiriccò > Assignee: Francesco Chicchiriccò > Labels: rest > Fix For: 1.2.0 > > > SYNCOPE-15 introduced 'lastChangeDate' and 'creationDate' fields on some > entities (namely SyncopeUser, SyncopeRole and ExternalResource); such > information is then transferred to matching TO (e.g. UserTO, RoleTO and > ResourceTO). > This means that the respective services (UserService, RoleService and > ResourceService) could be enhanced in the following way: > 1. add ETag response header to any method - directly or indirectly via > Response.Entity - generated from creationDate's or lastChangeDate's value > 2. implement some "conditional GET" logic: depending on the value of If-* > request HTTP headers, a value (HTTP status 200) or no value (HTTP status 204) > will be returned > 3. with the same idea, implement some "conditional POST/PUT" logic for > update: an effective update request will be effectively accepted only if > provided ETag matches the latest modification currently available -- This message was sent by Atlassian JIRA (v6.1#6144)