Имеет следующую реализацию:
RestTemplate restTemplate = new RestTemplate();
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
headers.set("key", "72hdjas721398721");
Application application = appRepository.findById(customerId)
.get();
BasicRequestMapper mapper = Mappers.getMapper(BasicRequestMapper.class);
BasicRequest basicRequest = mapper.customerToBasicRequest(application);
HttpEntity<BasicRequest> entity = new HttpEntity<>(basicRequest, headers);
try {
ResponseEntity<Response> response = restTemplate.exchange(url, HttpMethod.POST, entity,
Response.class);
return response;
} catch (HttpClientErrorException e) {
System.out.println(e.getResponseBodyAsString());
}
Краткое описание реализации: я использую Springs RestTemplate для выполнения запроса POST, отправляющего POJO на него.
Во время выполненияпри обмене я получаю следующую ошибку:
2019-03-14 11:19:51.300 DEBUG 7448 --- [ main] o.s.web.client.RestTemplate : Response 400 BAD_REQUEST
{"key":"unknown.error.found","message":"Unexpected end-of-input in field name\n at [Source: java.io.PushbackInputStream@42450be5; line: 1, column: 1523]"}
Это сообщение уже обработано серверной стороной, поэтому я получаю «ключ»: «unknown.error.found», «message» всообщение об ошибке. Но вторая часть, по-видимому, является ошибкой, выдвинутой Джексоном при десериализации сообщения.
Объект, который я отправляю, является простым POJO с несколькими свойствами с геттерами и сеттерами.используя mapstruct, чтобы отобразить только свойства, которые я хочу от сущностей, в это pojo.
Пример: 2019-03-14 11:19:50.763 DEBUG 7448 --- [ main] o.s.web.client.RestTemplate : Writing [BasicRequest [bankAccount=BankAccountDto [iban=DE12500105170648489890, holder=1]] as "application/json"
Не могли бы вы посоветовать?