我们正在使用 spring 版本 4.3.9 并使用 RestTemplate 进行休息调用。我们有测试用例,当我们调用特定端点时,我们故意将内容格式错误(请求本身很好,有效负载的内容是故意格式错误的)。无论如何,在这些条件下,端点除了将其标记为 400 错误(错误请求)之外,还会返回一个包含有意义信息的响应对象。RestTemplate 看到 400 错误并引发 HttpClientErrorException。由于抛出此异常,因此响应对象为空。当我使用常规 apache HttpClient 调用执行相同的请求(坏数据和所有数据)时,没有抛出异常(尽管出现 400 错误)并且请求对象返回了有意义的(有用的)信息。当使用广泛的 spring 调试日志设置执行时,我可以看到有意义的信息肯定是从 RestTemplate 客户端调用返回的,但是 RestTemplate 抛出异常,因此似乎没有使消息对调用者可用。有意义的消息是否可能隐藏在某处的异常响应中?如果是这样,我该如何提取它?如果没有作为异常的一部分返回,有没有办法让 RestTemplate 不抛出这个异常,而是像 HttpClient 一样只返回响应对象?感谢您的任何回复!
添加回答
举报
0/150
提交
取消