В режиме асинхронного режима переадресация вызовов
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) - Есть ли другой способ получить как необработанный, так и преобразованный ответ в режиме синхронизации?