2013-08-01 22 views
0

我正在构建rails api服务,并且我开始使用rails-api gem并为用户身份验证设计gem,我也推出了自己的版本控制,出色的RailsCast on Versioning APIs是我所需要的。构建Rails Api服务问题

现在,这里有一些问题,我面对

  • 首先,虽然轨道-API宝石删除所有的模块,就没有必要,我期待返回的错误是在一个API格式,然后记录主要异常,因为现在如果我甚至应该使用curl来发出请求,并且由于路由或其他原因而失败,则整个错误堆栈将以html css的形式返回,并带有一些javascript,而且我很漂亮可以肯定的是,我不想回到我的api消费者手中。

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

  • 其次,我如何得到轨发电机自动创建我的路由指定的命名空间下的所有新的控制器(我认为这对我来说不切实际,但嘿,我只是问:P)

  • 也可以任何人指向我其他必要的资源,我可以用于建立一个成功的rails api服务。

谢谢

回答

1

我对我的API使用ActiveModel::Serializers

我喜欢只呈现控制器动作里面的错误:


# 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,这是一个好的介绍有很多链接到很好的资源。