To be most compatible with practice RESTful service development and existing Javascript MVC frameworks like AngularJS and Ember.js that would be used to integrate with a RESTful service, should a resource be deserialized to JSON from a RESTful PUT call that just updates a resource?
For example, Rails 3.2.8 seems to promote just using respond_with @foobar.update_attributes(...)
which just returns an HTTP status code 204. However, you can specify that you want respond_with or respond_to to return the resource.
But, this means that another call must be made to get the resource to get any updates that may have occurred on the resource in addition to the ones that were specified in the PUT call. On one hand it is nice not to have anything returned, because you may not care if it has changed, and this isn't like POST in which you are creating a new resource and may want a full representation with the new id. However, having to make another GET call to get the updated resource following the PUT, though nice that it is intentional, is additional overhead (i.e. for a PUT where you need the updated resource, you would have to PUT and then GET).
I understand that REST leaves a lot open as to implementation, but I'd like to understand what people agree is a good practice with regard to this, at least as of October 2012 in the stated context of being used by AngularJS and Ember.js, and why.