Sinatra routes documentation太短了:
options '/' do
.. appease something ..
end
link '/' do
.. affiliate something ..
end
unlink '/' do
.. separate something ..
end
我一直在搜索REST文档和HTTP方法。我找到了options
here和link
here(第19.6.2.4节)和the <link> html tag以及an example of link
use in Riak database to emulate a graph db的一些字词。< / p>
但我正在搜索Sinatra用例和示例。在开始一个新项目之前,我需要知道我是否不需要它们,或者我是否在这些REST日中遗漏了重要的东西。
答案 0 :(得分:3)
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更像是资源的“反射”方法。如果您正在实现一个客户端,那么在服务器没有正确实现这些方法的情况下进行一些回退是个好主意。