Hi,

> I generally agree with the concept of returning created with the location in
> create methods. The problem is though that our service interface has no
> method to get the object based on the location.

Pragmatic solution is returning URI as well as business object ID in Response 
object. 
In that case we avoid building URI / extracting ID from URI manually.

Cheers,
Andrei.

> -----Original Message-----
> From: Christian Schneider [mailto:cschneider...@gmail.com] On Behalf Of
> Christian Schneider
> Sent: Mittwoch, 23. Januar 2013 10:01
> To: dev@syncope.apache.org
> Subject: Re: [DISCUSS] New REST Service Interfaces - ConfigurationService
> 
> Hi Jan,
> 
> I generally agree with the concept of returning created with the location in
> create methods. The problem is though that our service interface has no
> method to get the object based on the location.
> So we either have to change our client and interface to work with resource
> uris instead of ids or we have to return the id of the object in the create
> method. So perhaps we can return the location for true restful clients and
> the id in the entity of the response for people using the interface.
> 
> Christian
> 
> 
> On 23.01.2013 09:06, Jan Bernhardt wrote:
> > Hi Syncoper,
> >
> > here are the proposed changes for our Configuration Service:
> >
> > * Changing Create response type to javax.ws.rs.core.Response. This way
> we can set response HTTP Status code (201 created) without requiring
> HttpServletResponse as method parameter. Also according to best RESTful
> practices instead of returning newly created object directly, only URL for new
> Object (Configuration) will be returned. Console does not even care about
> created response, thus network traffic can be reduced, by not sending
> object (configuration). If consumer does care about new object he can easily
> follow provided URL (in response) and retrieve new object.
> >
> > * Changed ModelAndView response type to Set<ValidatorTO> /
> Set<MailTemplateTO> and introduced wrapper TO classes for ValidatorTO
> and MailTemplateTO.
> >
> > * Changed return type from update() and delete()  to void, since console
> does not even care about it, and I think this should be best practice anyway,
> since consumer knows updates object already and does not care about
> deleted ones, therefore there is no need to send them over the network.
> >
> > Any objections?
> >
> > Best regards.
> > Jan
> >

Reply via email to