[
https://issues.apache.org/jira/browse/SYNCOPE-694?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Francesco Chicchiriccò resolved SYNCOPE-694.
--------------------------------------------
Resolution: Fixed
> PATCH and PUT update for users, groups and any objects
> ------------------------------------------------------
>
> Key: SYNCOPE-694
> URL: https://issues.apache.org/jira/browse/SYNCOPE-694
> Project: Syncope
> Issue Type: Improvement
> Reporter: Francesco Chicchiriccò
> Assignee: Francesco Chicchiriccò
> Labels: rest
> Fix For: 2.0.0
>
>
> Currently {{AnyService}} (and its derivative, providing REST services for
> users, groups and any objects) defines the update method as follows:
> {code}
> @POST
> @Path("{key}")
> @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
> @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
> Response update(@NotNull MOD anyMod);
> {code}
> where {{MOD extends AnyMod}}.
> The idea is to move to a definition like as follows:
> {code}
> @PATCH
> @Path("{key}")
> @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
> @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
> Response update(@NotNull P anyPatch);
> {code}
> e.g. to more REST-compliant patch-based update.
> This has the additional benefit of simplifying the interaction with clients
> (JavaScript, in particular) not based on {{syncope-client}} Java library.
> It could also be useful to add a second update method as follows:
> {code}
> @PUT
> @Path("{key}")
> @Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
> @Consumes({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
> Response update(@NotNull TO anyTO);
> {code}
> where {{TO extends AnyTO}}.
> This latter would allow to build simpler create / update interactions for
> clients based on {{syncope-client}} Java library.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)