0

背景是这样的:

  1. 客户端网络浏览器向服务器发送请求;
  2. 服务器程序在做实际工作之前会启动一些业务检查规则。

如果检查失败,一些提示应该反馈给客户端浏览器。

所以,这就是问题所在。我应该使用错误响应http代码来指示这一点,还是直接使用200,然后从响应正文中解析消息。

有时,这不是问题。但是,如果返回错误代码,某些客户端组件会提供一些实用方法。所以,这是一个艰难的决定:

  1. 返回 200 和错误信息。自己解析并展示它们;
  2. 返回一些类似500的代码,让客户端组件直接显示。
4

2 回答 2

1

我建议尽可能多地使用 http 状态码。这是一个标准,你为什么不应该使用它们?

以下是一些示例,恕我直言,http 状态代码的使用是有意义的:

  • 有人想要一个不可用的数据集使用 404 未找到
  • 安全资源需要身份验证使用 401
  • 对当前用户不可用的资源应获得 403 禁止
  • 一个你不能很好处理的错误,写出一个 500 状态
  • 等等

还要寻找REST -API 的逻辑,在那里您可以看到优势。

于 2012-09-29T05:51:00.193 回答
0

通常,您需要指出服务失败的原因。返回自定义错误还可能允许客户端应用程序以适当的方式响应。例如,如果输入验证检查失败,我想用户会很高兴有机会修复并重新提交请求。HTTP 错误不足以表明究竟出了什么问题。

于 2012-09-29T06:07:01.637 回答