背景是这样的:
- 客户端网络浏览器向服务器发送请求;
- 服务器程序在做实际工作之前会启动一些业务检查规则。
如果检查失败,一些提示应该反馈给客户端浏览器。
所以,这就是问题所在。我应该使用错误响应http代码来指示这一点,还是直接使用200,然后从响应正文中解析消息。
有时,这不是问题。但是,如果返回错误代码,某些客户端组件会提供一些实用方法。所以,这是一个艰难的决定:
- 返回 200 和错误信息。自己解析并展示它们;
- 返回一些类似500的代码,让客户端组件直接显示。
背景是这样的:
如果检查失败,一些提示应该反馈给客户端浏览器。
所以,这就是问题所在。我应该使用错误响应http代码来指示这一点,还是直接使用200,然后从响应正文中解析消息。
有时,这不是问题。但是,如果返回错误代码,某些客户端组件会提供一些实用方法。所以,这是一个艰难的决定:
我建议尽可能多地使用 http 状态码。这是一个标准,你为什么不应该使用它们?
以下是一些示例,恕我直言,http 状态代码的使用是有意义的:
还要寻找REST -API 的逻辑,在那里您可以看到优势。
通常,您需要指出服务失败的原因。返回自定义错误还可能允许客户端应用程序以适当的方式响应。例如,如果输入验证检查失败,我想用户会很高兴有机会修复并重新提交请求。HTTP 错误不足以表明究竟出了什么问题。