rocketpant如何处理404路由错误

时间:2014-12-11 22:13:45

标签: ruby-on-rails rails-api rocketpants

我正在使用rocketpant进行休息API实现。从doc我可以看出,火箭剂很好地考虑了控制器中的错误处理。

然而,似乎它没有考虑路由错误,所以如果请求的url没有定义路由,而不是返回json错误,它会回放html 404页面,这对于API设计是不正确的。

我错过了什么吗?或者有没有办法包装404路由错误并呈现json错误消息?

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。

步骤1:捕获路由文件最后一行中所有不匹配的路由。

 match '*a', to: 'error#routing', via: [:get, :post, :put, :patch]

步骤2:将错误控制器和路由方法定义为自定义错误处理程序。投掷内置的rocketpant:not_found错误

module Api
module V1
    class ErrorController < ApiController

        def routing
            error! :not_found # throw not found error, let rocketpant handle error message rendering
        end
    end
end
end