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.

If this is a REST best practice, fine for me.

* Changed ModelAndView response type to Set<ValidatorTO> / Set<MailTemplateTO> 
and introduced wrapper TO classes for ValidatorTO and MailTemplateTO.

Fine.

* 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.

About update() I can agree with you: since the updated entity (user, role, ...) is still there, an URL can be returned as in the create() case reported above.

About delete() however, not retuning the deleted entity can break the current feature: once again, please don't think that the admin console is the only REST client out there.

Regards.

--
Francesco Chicchiriccò

ASF Member, Apache Syncope PMC chair, Apache Cocoon PMC Member
http://people.apache.org/~ilgrosso/

Reply via email to