Как преобразовать тело успешного ответа в определенный тип, используя модификацию?
В асинхронном режиме модернизированные звонки
public void success(T t, Response rawResponse)
где t - преобразованный ответ, а rawResponse - необработанный ответ. Это дает вам доступ как к необработанному ответу, так и к преобразованному ответу.
В режиме синхронизации вы можете получить либо преобразованный ответИЛИ ЖЕ сырой ответ
преобразованный ответ
@GET("/users/list")
List<User> userList();
сырой ответ
@GET("/users/list")
Response userList();
У объекта Response есть метод для получения тела
TypedInput getBody()
и модифицированный API имеет класс конвертера, который может преобразовать его в Java-объект
Object fromBody(TypedInput body,Type type)
Но я не могу понять, как получить экземпляр объекта Converter
Я мог бы создать экземпляр класса Converter, но для этого потребовалось бы знание объекта Gson, используемого для создания RestAdapter, к которому у меня может не быть доступа. В идеале я хотел бы получить ссылку на объект конвертера непосредственно RestAdpater.
Любое из следующего ответит на мой вопрос:Есть ли способ получить ссылку на конвертер по умолчанию, используемый при модернизации?Кто-нибудь знает, как построен конвертер по умолчанию? (конструктора по умолчанию нет и есть два Конструктораpublic GsonConverter(Gson gson)
и публичный GsonConverter (Gson gson, String charset)Есть ли другой способ получить как необработанный, так и преобразованный ответ в режиме синхронизации?