我想定义一个错误块(或其他东西),它会返回所有异常格式化的JSON格式 plus 返回标准的http代码(例如404找不到,303表示身份验证错误等。)
类似的东西:
error do
e = env['sinatra.error']
json :result => 'error', :message => e.message
end
谢谢!
答案 0 :(得分:11)
这应该有效:
require 'sinatra'
require 'json'
# This is needed for testing, otherwise the default
# error handler kicks in
set :environment, :production
error do
content_type :json
status 400 # or whatever
e = env['sinatra.error']
{:result => 'error', :message => e.message}.to_json
end
get '/' do
raise 'hell'
end
用curl测试它,看它是否有效。