RestTemplate和它的测试版本有什么区别?当我们通过@ControllerAdvice进行异常处理时,RestTemplate会抛出异常,但对于相同的流测试版本,它会返回包含异常详细信息的json。

因此,我想看看它们之间差异的摘要。

最佳答案

restTemplate给您更多的可能性,testRestTemplate只是restTemplate的包装器,为您提供了方便的方法,就像您说的那样,它不会引发异常,而是将其包装为json响应,这种行为应由您自己在实际应用程序中实现,但您可能不在乎测试。

这是testRestTemplate的Javadoc

/**
 * Convenient subclass of {@link RestTemplate} that is suitable for integration tests.
 * They are fault tolerant, and optionally can carry Basic authentication headers. If
 * Apache Http Client 4.3.2 or better is available (recommended) it will be used as the
 * client, and by default configured to ignore cookies and redirects.
 *
 * @author Dave Syer
 * @author Phillip Webb
 */

可以通过ReflectionTestUtilsReflectionUtils找到类似的模式

关于Spring TestRestTemplate与RestTemplate,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37271272/

10-09 06:57