我有一个包含
JSON API接口的Rails应用程序.当值正确指定时,控制器处理快乐路径,并将JSON渲染为输出.
但是,如果输入有问题,则会引发异常,并提供某些拯救模板.我真的只想按照{“error”:{“msg”:“bad request”,“params”:…}}和适当的HTTP状态代码(例如403,如果他们没有认证).但是我只希望这适用于针对example.com/api / ….中的任何内容的请求.
我怎样才能做到这一点?
解决方法
我有一个类似的情况,但是我分别单独提取API方法,因为我需要方法特定的错误,我也可以有多个救援,取决于错误类型.
def error(status,code,message) render :js => {:response_type => "ERROR",:response_code => code,:message => message}.to_json,:status => status end
然后在我的API控制器
def some_method ## do stuff rescue error(500,method_specific_error_code,"it all done broke") ## additional error notifications here if necessary. end
为了处理身份验证,我有一个before_filter用于login_required
def login_required error(403,403,"Not Authenticated") unless authenticated end
并拯救404错误:
def render_404 error(404,404,"UnkNown method") end
我希望这有帮助!
原文地址:https://www.jb51.cc/ruby/267392.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。