加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何处理我的Rails REST API中的错误或不正确

发布时间:2020-12-16 21:30:58 所属栏目:百科 来源:网络整理
导读:我有一个包含 JSON API接口的Rails应用程序.当值正确指定时,控制器处理快乐路径,并将JSON渲染为输出. 但是,如果输入有问题,则会引发异常,并提供某些拯救模板.我真的只想按照{“error”:{“msg”:“bad request”,“params”:…}}和适当的HTTP状态代码(例
我有一个包含 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

因为我拯救错误,我需要明确地调用hoptoad api.

为了处理身份验证,我有一个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

我希望这有帮助!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读