最近,我不得不在主要由小部件组成的丰富的Web应用程序中标准化客户端和服务器之间的通信。对客户端的响应采用json格式。当决定处理错误消息时,会出现两个想法。
发送错误消息的一部分
之类的回应{ “成功”: “假”, “错误”:[ “field1的”: “MESSAGE1”, “FIELD2”: “消息2”]}
将错误作为标题发送,只需将false返回给客户
response.addHeader( 'X-应用程序错误', '[ “field1的”: “MESSAGE1”, “FIELD2”: “消息2”]')
第二种选择似乎很整洁;用户只在需要时检查标头中的错误,这些错误似乎是协议的一部分,而不是响应的一部分。
这是一个好习惯吗?有一种方式比另一方好。
答案 0 :(得分:2)
我会在回复中发送错误消息。
如果要在HTTP协议级别报告内容,可以添加自定义标头。 HTTP已经建立了报告错误的方法(通过HTTP状态代码)。我会留下任何会在响应正文中显示给客户端(或由Javascript使用)的内容。