如何指定sinatra返回状态为200的空体?
我可以做body ""
但有更明确的方法吗?
答案 0 :(得分:24)
您可以返回任何有效的Rack响应,Rack body对象或HTTP状态代码的对象:
- 包含三个元素的数组:[status(Fixnum),header(Hash),response body(响应
#each
)]- 包含两个元素的数组:[status(Fixnum),响应正文(响应#each)]
- 响应
#each
并且只传递字符串到给定块的对象- 表示状态代码的Fixnum
返回
中的任何一个[200, {}, ['']]
[200, ['']]
['']
200
应该这样做。
在Setting Body, Status Code and Headers中,介绍了辅助方法status
和body
(以及headers
):
get '/nothing' do
status 200
body ''
end
答案 1 :(得分:4)
同样来自docs:
要在过滤器或路由使用中立即停止请求:
停止
您还可以在暂停时指定状态:
停止410
因此,在您只需要200
状态的情况下,它将是:
halt 200
halt
是Sinatra为您提供的最有用的方法之一,值得一读。我经常使用它在处理路径的早期返回错误消息,例如当缺少必需的参数时。