0

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

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

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

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

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

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

谢谢

4

2 回答 2

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 编写方式,您可以查看这篇 2beards 文章,这是一篇很好的介绍,其中包含大量资源的链接。

于 2013-08-01T15:19:49.617 回答