Я нахожусь в настоящее время в процессе обновления до Модифицированные v.2.0.0-бета1 и the docs он говорит:Преобразовать в JSONObject/JSONArray с Retrofit v2.0.0-бета1
По умолчанию дооснащения может только десериализуйте тела HTTP в тип ResponseBody OkHttp, и он может принимать только свой тип RequestBody для @Body.
Конвертеры могут быть добавлены для поддержки других типов. Шесть модулей sibling адаптируют популярные библиотеки сериализации для вашего удобства.
Как именно я добавляю GSON конвертер так вместо RequestBody
я получаю GSON.JsonObject
или GSON.JsonArray
для ответов с Content-type: application/json
?
Мой код инициализации выглядит следующим образом:
OkHttpClient client = new OkHttpClient();
client.interceptors().add(new AuthInterceptor(authState));
client.interceptors().add(new LoggingInterceptor());
restClient = new Retrofit.Builder()
.client(client)
.baseUrl(BASE_URL)
.build()
.create(RestClient.class);
Почему вы хотите получать объекты оболочки Gson вместо POJO? – durron597
Потому что я предпочел бы использовать их, как карту. В API, с которым я имею дело, существует множество разных конечных точек, что приводит к широкому кругу различных типов. Исходя из более динамичных языков как Java, это, кажется, создает больше хлопот, чем пользы для меня. – heyarne
Возможный дубликат [Как обращаться с Dynamic JSON в Модернизации?] (Http://stackoverflow.com/questions/24279245/how-to-handle-dynamic-json-in-retrofit) – durron597