我有一个 RESTEasy 服务,它在发生服务器端错误时返回 HTTP 500。我设法将正文附加到 HTTP 响应,以便提供有关错误的更多详细信息。所以从服务中出来的响应看起来像这样
HTTP/1.1 500 Internal Server Error
Server: Apache-Coyote/1.1
Content-Type: application/xml;charset=ISO-8859-1
Content-Language: en-US
Content-Length: 3251
Date: Thu, 14 Oct 2010 23:22:49 GMT
Connection: close
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><myErrorEnvelope><internalCode>123</internalCode><description>error details</description></myErrorEnvelope>
我有一个客户端(spring MVC 3.0 REST 客户端),我正在尝试捕获 HTTP 500 并读取响应正文并反序列化myErrorEnvelope对象。我首先捕获了一个 catch RestClientException,它正确地告诉我有一个 HTTP 500 响应,但是似乎没有办法获得响应的正文。这是我不应该做的事情吗?我是否应该将错误对象作为 HTTP 200 响应的主体返回?我真的宁愿返回带有正文的 HTTP 500。
谢谢。