Для регистрации запроса и ответа я добавил LoggingRequestInterceptor , который реализует ClientHttpRequestInterceptor ...
Тело ответа - это поток, и если я прочитаю его на моем перехватчике, TestRestTemplate не сможет десериализовать его в мою объектную модель. Другими словами, когда я вызываю testRestTemplate.get ... я всегда получаю пустые объекты (даже когда я вижу объект, мой ответ).
Чтобы решить эту проблему для RestTemplate, это можно исправить с помощью BufferingClientHttpRequestFactory . Я не знаю, как это исправить для TestRestTemplate хотя ...
Я попытался добавить BufferingClientHttpRequestFactory к экземпляру RestTemplate, а затем обернуть TestRestTemplate этим экземпляром:
restTemplateBuilder.configure(restTemplate);
... но тогда вообще нет регистрации.
Так я добавляю перехватчик логирования.
public static RestTemplateBuilder withInterceptors() {
List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
interceptors.add(new LoggingRequestInterceptor());
return new RestTemplateBuilder()
.interceptors(interceptors);
}
В конце я бы хотел:
1. Зарегистрируйте тело ответа
2. Десериализовать его в объектную модель (теперь, если я включаю ведение журнала, будет ноль)