构建Rails Api服务问题

时间:2013-08-01 14:01:06

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

我正在构建一个rails api服务,我开始使用rails-api gem并设计gem用于用户身份验证,我还推出了自己的版本,我只需要优秀的RailsCast on Versioning APIs

现在这里是我面临的一些问题

  • 首先,尽管rails-api gem删除了所有不需要的模块,但我希望返回的错误是api格式,然后记录主异常,因为现在如果我甚至应该使用curl来制作一个请求,它因路由或其他原因而失败,整个错误堆栈以html css的形式返回一些javascript,我非常确定这不是我想要返回给我的api消费者。

所以我的问题是,如何在rails-api中正确处理所有错误,而不是返回长错误堆栈。

  • 其次,我如何让rails生成器在路由中指定的命名空间下自动创建所有新控制器(我认为这对我来说不切实际但是嘿,我只是问:P)

  • 也可以有人向我指出我可以用来构建成功的rails api服务的其他必要资源。

谢谢

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

我将ActiveModel::Serializers用于我的API。

我喜欢在控制器操作中渲染错误:


# almost pseudocode
unless request_successful?
  render json: { errors: { model: [ t(:your_request_made_no_sense, scope: :model)] } }, status: :bad_request
end

如果您有兴趣阅读一种非常优雅的API方式,那么您可以查看this 2beards article,这是一个很好的介绍,有很多链接到很好的资源。