在Grape中如果使用错误!它将抛出一个错误,并且永远不会在"回调之后"调用Grape :: Endpoint.
我希望应用程序在出错时调用挂钩!被称为.
我添加了这块中间件来实现这一目标.
class AfterFailure < Grape::Middleware::Base
def call!(env)
@env = env
before
error = catch (:error) do
@app_response = @app.call(@env)
return after || @app_response
end
after_failure(error) || throw(:error, error)
end
def after_failure(error)
puts "After Failure"
nil
end
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来实现这一目标?
谢谢
只需在 Grape::Middleware::Error 之前插入中间件
class YourApi < Grape::API
insert_before Grape::Middleware, AfterFailure
# your api code...
end
Run Code Online (Sandbox Code Playgroud)
然后你可以得到错误响应@app_response
| 归档时间: |
|
| 查看次数: |
1063 次 |
| 最近记录: |