如何在REST API中传递BOTH错误和信息性消息?

时间:2014-09-11 16:29:05

标签: rest http http-headers messages envelope

我们有一个遗留应用程序,允许我们的开发人员通过Java中的ThreadLocal“添加”消息。

当前的SOAP端点将从线程中删除这些消息,然后将它们打包在响应中。

端点还捕获所有异常,然后通过相同的机制对这些异常进行编组,以规范消息的传递(无论是信息,警告还是错误)。

这些消息是丰富的对象(它们具有代码,严重性,分类,然后是实际的消息文本。)

这在许多方面都很好,因为现在我们有一种标准的方式来向用户(或调用服务)传达有意义的消息,但它也使得使用API​​更具挑战性,因为现在客户端必须从响应中选择消息AND还挑选出真正的有效载荷。

任何网络服务都可以通过这种方式传递消息......但只有少数人能这样做。

我想开始将我们的应用程序转移到REST API,但我正在努力解决如何最好地处理消息传递。我不是非常热衷于为每个REST响应添加一个信封,因为这确实污染了API。

替代方案似乎是将这些消息添加到自定义HTTP标头中。这是“首选”方法吗?请记住,我将有一个或多个这些消息的列表,我可能也必须将它们序列化为json。

感谢。

0 个答案:

没有答案