如何在RESTAPI中传递错误消息和信息消息?

如何在RESTAPI中传递错误消息和信息消息?,rest,http,http-headers,messages,envelope,Rest,Http,Http Headers,Messages,Envelope,我们有一个遗留应用程序,允许开发人员通过Java中的ThreadLocal“添加”消息 当前的SOAP端点将从线程中获取这些消息,然后将它们打包到响应中 端点还捕获所有异常,然后通过相同的机制封送这些异常,以规范消息的传递(无论是信息、警告还是错误) 这些消息是丰富的对象(它们有代码、严重性、分类,然后是实际的消息文本) 这在很多方面都很好,因为现在我们有了一种标准的方式来向用户(或调用服务)传递有意义的消息,但这也使得使用API变得更具挑战性,因为现在客户端必须从响应中选择消息,还必须选择真正

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

当前的SOAP端点将从线程中获取这些消息,然后将它们打包到响应中

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

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

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

任何web服务都可以通过这种方式传递消息……但只有少数web服务可以这样做

我想开始将我们的应用程序转向RESTAPI,但我正在努力解决如何最好地处理消息传递。我不想在我们的每个REST回复中都添加一个信封,因为这确实污染了API

另一种选择似乎是将这些消息添加到自定义HTTP头中。这是“首选”方法吗?请记住,我将有一个包含一个或多个这些消息的列表,并且可能还需要将它们序列化为json

谢谢