【问题标题】:Handling API model validation errors to send back to client处理 API 模型验证错误以发送回客户端
【发布时间】:2012-08-17 02:43:12
【问题描述】:

我目前正在编写一个使用 nodejs & express 构建的后端 JSON API,但这个问题可能适用于任何后端 API

当向服务器发送错误或不完整的请求时,处理模型验证错误的标准方法是什么?应该向客户端提供什么响应?

目前,如果出现问题,我的应用程序会发送状态代码。够了吗?

编辑: 我在客户端应用程序上进行了功能齐全的验证,所以我并没有过分大惊小怪,但如果能涵盖所有角度就好了。

【问题讨论】:

    标签: ruby-on-rails api node.js backbone.js express


    【解决方案1】:

    应该执行服务器端验证,无论您是否也在客户端执行。

    返回任何 4xx、5xx 错误都可以,选择描述您的情况的错误。

    在这些情况下,在 savecreate 的选项中传递 {wait: true} 有时很有用,以便在保存/添加模型之前等待服务器响应。

    【讨论】:

    • 谢谢@ggozad。我已经在 API 上进行了验证,只是不确定我是否应该在响应中传回好的错误消息。感谢您的回答。
    【解决方案2】:

    这取决于您的应用程序以及您希望如何处理错误。如果您想向您的用户提供更多关于发生错误以外的错误的反馈,您可以创建自己的错误对象。

    我根据服务器上发生的情况发回 json 错误并向用户显示任何消息。例如,在登录页面时,如果验证失败,我将设置 HTTP 状态 401(未授权),响应文本为:

    {errors: 
       {"username": "Incorrect username and or password" }
    }
    

    【讨论】:

      猜你喜欢
      • 2016-10-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-14
      • 1970-01-01
      • 2013-11-09
      相关资源
      最近更新 更多