Я пытаюсь использовать RestTemplate для сериализации данных JSON из одного из наших API с помощью вызова GET.
Это похоже на то, как если бы метод getForObject ожидал значения XML в URL API, хотя на самом деле это JSONответ.Из всех поисков, которые я сделал, этот метод должен ожидать JSON, а не XML - так что же не так?
Любая помощь действительно приветствуется.
Контроллер
RestTemplate appApi = new RestTemplate();
Application app = appApi.getForObject("api url", Application.class);
Приложение
import lombok.Data;
@Data
public class Application {
ApplicationDetails value;
@Data
public class ApplicationDetails {
String salsaId;
String itSystemName;
String businessOwner;
String businessOwnershipLob;
String leadProgramme;
String lifecycleStage;
}
}
Пример ответа 'API URL' даст:
{
"value": {
"salsaId": "data",
"itSystemName": "data",
"businessOwner": "data",
"businessOwnershipLob": "data",
"leadProgramme": "data",
"lifecycleStage": "data"
}
}
На мой взгляд, все это должно работать идеально, и ответ на этот вызов API должен бытьсодержится в объекте приложения «приложение».Однако при запуске я получаю следующую ошибку:
2019-02-12 15:36:47.644 ERROR 864 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.client.RestClientException: Error while extracting response for type [class com.***.tools.***.models.Application] and content type [application/xml;charset=UTF-8]; nested exception is org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Unexpected character '{' (code 123) in prolog; expected '<'
at [row,col {unknown-source}]: [1,1]; nested exception is com.fasterxml.jackson.core.JsonParseException: Unexpected character '{' (code 123) in prolog; expected '<'
at [row,col {unknown-source}]: [1,1]] with root cause
com.ctc.wstx.exc.WstxUnexpectedCharException: Unexpected character '{' (code 123) in prolog; expected '<'
at [row,col {unknown-source}]: [1,1]