Rails 3 RESTful PUT调用应该返回更新资源的JSON表示吗?

时间:2012-10-09 20:27:25

标签: ruby-on-rails-3 rest

与实践RESTful服务开发和现有的Javascript MVC框架(如用于与RESTful服务集成的AngularJS和Ember.js)最兼容,如果资源从RESTful PUT调用反序列化为JSON,只需更新一个资源?

例如,Rails 3.2.8似乎只使用respond_with @foobar.update_attributes(...)来提升,它只返回HTTP状态代码204.但是,您可以指定您希望respond_with或respond_to返回资源。

但是,这意味着除了PUT调用中指定的更新之外,必须进行另一次调用以获取资源以获取资源上可能发生的任何更新。一方面很高兴不返回任何内容,因为你可能不关心它是否已经改变,这不像你正在创建一个新资源的POST,并且可能想要一个带有新id的完整表示。但是,必须进行另一个GET调用以获取PUT之后的更新资源,尽管这是有意的,但是额外的开销(即对于需要更新资源的PUT,您必须进行PUT然后GET)。 / p>

我理解REST在实施方面留下了很多空白,但是我想了解人们认为这是一个好的做法,至少截至2012年10月在AngularJS和Ember.js,为什么。

0 个答案:

没有答案