【问题标题】:What are OPTIONS, LINK and UNLINK routes in Sinatra?Sinatra 中的 OPTIONS、LINK 和 UNLINK 路由是什么?
【发布时间】:2013-08-09 05:24:53
【问题描述】:

Sinatra routes documentation 太短:

options '/' do
  .. appease something ..
end

link '/' do
  .. affiliate something ..
end

unlink '/' do
  .. separate something ..
end

我一直在寻找 REST 文档和 HTTP 方法。我找到了options herelink here(第 19.6.2.4 节)和 the <link> html tagan example of link use in Riak database to emulate a graph db 的一些词。

但我正在搜索 Sinatra 用例和示例。在开始一个新项目之前,我需要知道我是否不需要它们,或者我是否在这些 RESTful 日子里遗漏了一些重要的东西。

【问题讨论】:

    标签: ruby rest sinatra http-method


    【解决方案1】:

    OPTIONS、LINK 和 UNLINK 都是标准的 HTTP 1.1 请求方法。与 GET 和 POST 等更常用的方法相比,这些方法有些晦涩难懂。 Sinatra 没有关于这些的具体内容。一般来说,Sinatra 提供与 HTTP 方法同名的 ruby​​ 方法。我们如何响应该方法几乎是由我们决定的。 OPTIONS 方法的示例实现如下所示 -

    options '/subscriptions' do
        status 200
        headers "Allow" => "BREW, POST, GET, PROPFIND, WHEN"
    end
    

    所有这一切都是在告诉 Sinatra,当 Web 服务器收到一个看起来像 -

    的 HTTP 请求时
    OPTIONS /subscriptions HTTP/1.1
    Host: www.yourwebsite.com
    

    它应该如下响应

    HTTP/1.1 200 OK
    Allow: BREW,POST,GET,PROPFIND,WHEN
    

    如果您的应用需要链接或取消链接两个资源,请继续使用这些方法。它们本身并没有什么 RESTful 或 unRESTful 的。 OPTIONS 更像是资源的“反射”方法。如果您正在实现客户端,那么最好有一些后备措施,以防服务器无法正确实现这些方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-21
      • 2014-01-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-28
      • 1970-01-01
      相关资源
      最近更新 更多