我们有一个遗留应用程序,允许我们的开发人员通过Java中的ThreadLocal“添加”消息。
当前的SOAP端点将从线程中删除这些消息,然后将它们打包在响应中。
端点还捕获所有异常,然后通过相同的机制对这些异常进行编组,以规范消息的传递(无论是信息,警告还是错误)。
这些消息是丰富的对象(它们具有代码,严重性,分类,然后是实际的消息文本。)
这在许多方面都很好,因为现在我们有一种标准的方式来向用户(或调用服务)传达有意义的消息,但它也使得使用API更具挑战性,因为现在客户端必须从响应中选择消息AND还挑选出真正的有效载荷。
任何网络服务都可以通过这种方式传递消息......但只有少数人能这样做。
我想开始将我们的应用程序转移到REST API,但我正在努力解决如何最好地处理消息传递。我不是非常热衷于为每个REST响应添加一个信封,因为这确实污染了API。
替代方案似乎是将这些消息添加到自定义HTTP标头中。这是“首选”方法吗?请记住,我将有一个或多个这些消息的列表,我可能也必须将它们序列化为json。
感谢。