【发布时间】:2015-08-27 18:53:31
【问题描述】:
我使用 Grape GEM 和 Rails 创建了我的第一个 API 服务。 API 运行良好,但我在错误处理方面遇到了困难,并且搜索有价值的教程没有结果。
在我遵循的教程中,他们遵循的唯一错误处理范围是:
rescue_from ActiveRecord::RecordNotFound do |e|
error!(message: e.message, status: 404)
end
rescue_from ActiveRecord::RecordInvalid do |e|
error!(message: e.message, status: 422)
end
有两个问题让我得出这样的结论是不够的:
- 我被抛出一个错误,指出以下内容:ActiveRecord::RecordInvalid 的“与非类/模块比较”
- 当我提交一个通过 API 规则但未通过模型验证的 API 请求时,请求只是挂起......即没发生什么事。我可以在我的 localhost 服务器日志上看到响应(即电子邮件已经存在),但在 Postman & 和 swagger 中它只是继续加载而没有响应。
谁能给我指出一个完全专注于 Grape 异常处理的教程?我对通过 API 调用等处理模型验证感到非常困惑,并且可以提供一些指导。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 activerecord grape