Web服务API设计 - 输入验证和错误响应?

时间:2011-01-01 00:16:41

标签: c# asp.net web-services api validation

这可能是一个愚蠢的问题,你通常如何回应错误?

  1. 一次响应一个错误 或
  2. 有多个错误的响应 一段时间,在列表记录中
  3. 示例

    • 电子邮件地址格式无效
    • 电话号码格式无效
    • 无效密码.etc ...
    • 无效的API凭据

    等。

2 个答案:

答案 0 :(得分:2)

如果您能够设计验证回复,以便他们能够立即发现所有错误而不是逐个发现错误,那么您的客户会很感激。

我将修改它以将身份验证/授权问题与数据验证分开。这些不应该在一起 - 如果发送请求的人既未经过身份验证也未获得授权,则无意查看任何数据。

答案 1 :(得分:0)

关于例外的第一件事。

您提到的原因是异常细节而非异常本身。如果操作失败(这里,web方法将要执行某些操作,例如注册用户),则只有一个例外(即RegistrationFailedException)。所有其他事情都是它的信息。

发生Exception时(我的意思是未处理的异常),不会再发生异常,因此您应该返回第一个也是唯一一个未处理的异常及其相关信息(事件参数)。

设计Exception Schema是个好主意。根据您的异常模式在单个消息中包含异常及其信息,并将其返回给用户。