RestTemplate не отправляет данные, утверждая, что это делает - PullRequest
0 голосов
/ 09 ноября 2018

Я проверил RestTemplate уже отправляет нулевые значения в объекте , но мои проблемы, похоже, вызваны чем-то другим.

У меня есть две службы, данные службы A POST s для службы B. В службе A вы можете найти этот фрагмент кода:

HttpEntity<SomeEntity> httpHt = new HttpEntity<SomeEntity>(ht);
ResponseEntity<SomeEntity> htResponse = restTemplate.exchange(uri, HttpMethod.POST, httpHt, new ParameterizedTypeReference<SomeEntity>() {});

Служба B завершается сбоем, поскольку извлеченная сущность является нулевой. Я проверил ht для null и нет, я могу использовать любые методы его получения и отображать его значения.

Я добавил эту строку

restTemplate.setInterceptors(Collections.singletonList(new LoggingRestTemplate())); 

который я нашел на SO . Из созданного журнала я вижу, что RestTemplate утверждает отправлены данные:

14:56:11.864 [http-nio-8090-exec-1] DEBUG d.a.e.a.c.l.LoggingRestTemplate - Request body : {"SomeId":null,"OtherId":"17","version":0}

Но , когда я использую сетевой трафик захвата, я вижу, что полезная нагрузка не отправляется: enter image description here

Поскольку служба A также вызывается с использованием REST, я проверил, вижу ли я эти данные в трассировке. И эта полезная нагрузка показана, поэтому не должно быть проблем с тем, как я собираю данные: enter image description here

Я пробовал с Spring Boot 2.0.6 и 2.1.0, тот же эффект. Из того, что я могу сказать, что-то мешает службе А правильно отправлять данные.

...