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