代码之家  ›  专栏  ›  技术社区  ›  Marco

是否执行Rails的RESTful实现?

  •  0
  • Marco  · 技术社区  · 15 年前

    我正在考虑在Rails中使用RESTful实现。我在问自己这是不是该走的路。

    我是否应该总是进行一个RESTful实现呢?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Ben Crouse    15 年前

    我认为就铁轨而言,没有太多其他的选择。您只需与Rails作为一个框架为您所做的所有设计决策和合理的默认值作斗争。

    想想为路由、路径、表单等提供的所有快捷方式。我认为您最终只会在非RESTful实现上花费更多的时间/精力。

        2
  •  1
  •   gtd    15 年前

    首先要解决的是休息的真正含义。从根本上讲,它是关于高效和正确地利用HTTP的。也就是说,GET请求不修改任何内容,PUT请求是等幂的,等等。唯一标识资源的概念就是从这种HTTP的最佳使用中脱离出来的。REST的好处在于,您可以从HTTP中获得最大的编程好处,使缓存、代理和自动重试等功能能够在不了解任何应用程序的情况下正常工作。大胆的奥巴桑乔写了一首好诗 rant on the topic of REST misunderstanding .这与类似SOAP的内容形成了强烈的对比,在SOAP中,您有一个重量级的信封格式,它使用HTTP作为一个光荣的传输层。

    现在,当涉及到RailsRest时,有一个完全不同的事情正在发生,这就是Rails对配置的约定。RailsRest只是一个很薄的工具层,它使您可以很容易地在定义的资源上定义CRUD操作。请注意,这些资源不需要与ActiveRecord模型对应,当然,使用Rails资源路由并不是设计RESTful应用程序的先决条件。Rails为您提供的是一个非常方便的默认值,用于处理符合可损坏资源模型的事情,但是您应该毫不犹豫地在资源之上定义额外的方法,或者如果您的页面看起来不像资源(如报告),则完全放弃资源。

    要记住的底线是它不是一个或另一个。Rails RESTful帮助程序使用的原语与Rails中的原语相同。你可以同时使用它们,它们很好地结合在一起。