Java SpringREST客户端希望看到错误消息而不是异常

Java SpringREST客户端希望看到错误消息而不是异常,java,spring,rest,resttemplate,Java,Spring,Rest,Resttemplate,我有一个SpringRest客户。当身份验证详细信息未在标题中提供时,我使用 ResponseEntity<String> resp = restTemplate.exchange(url, HttpMethod.GET, request, String.class); 现在我想要的是:我想在代码中捕获此错误消息,而不是获取401异常。我试着看看回复中是否有什么内容。但收到的响应为空。如何捕获从Web服务接收到的错误消息?我觉得很奇怪,因为我自己的问题没有答案。但我最终通过以下方式

我有一个SpringRest客户。当身份验证详细信息未在标题中提供时,我使用

ResponseEntity<String> resp = restTemplate.exchange(url, HttpMethod.GET, request, String.class);

现在我想要的是:我想在代码中捕获此错误消息,而不是获取401异常。我试着看看回复中是否有什么内容。但收到的响应为空。如何捕获从Web服务接收到的错误消息?

我觉得很奇怪,因为我自己的问题没有答案。但我最终通过以下方式实现了它

} catch (HttpClientErrorException e) {
      System.out.println(e.getStatusCode());
      System.out.println(e.getResponseBodyAsString());
    }

我在响应实体中错误地搜索错误。但是它在异常中可用。

对于只查找异常原因/消息的人:
e.getResponseBodyAsString()
除了返回异常原因/消息外,还返回许多其他内容,如statusCode、statusText等。您必须从异常中手动解析它。这仍然是一个问题。我希望得到响应,然后自己决定如何处理它,而不是抛出异常。就处理而言,效率要低得多。
} catch (HttpClientErrorException e) {
      System.out.println(e.getStatusCode());
      System.out.println(e.getResponseBodyAsString());
    }