Articles of gson retrofit

Как отправить данные JSON как «Тело» с помощью «Дооснащения»

Я пытаюсь опубликовать ниже массив JSON на сервере. { "order": [{ "orderid": "39", "dishid": "54", "quantity": "4", "userid":"2" },{ "orderid": "39", "dishid": "54", "quantity": "4", "userid":"2" }] } Я использую это ниже: private void updateOreder() { M.showLoadingDialog(GetDishies.this); UpdateAPI mCommentsAPI = APIService.createService(UpdateAPI.class); mCommentsAPI.updateorder(jsonObject, new Callback<String>() { @Override public void success(String s, Response response) { M.hideLoadingDialog(); Log.e("ssss",s.toString()); […]

Retrofit 2 RxJava – Gson – «Глобальная» десериализация, тип ответа на изменение

Я использую API, который всегда возвращает объект JSON, который выглядит так: public class ApiResponse<T> { public boolean success; public T data; } Поле данных – это объект JSON, который содержит всю ценную информацию. Конечно, для разных запросов разные. Таким образом, мой модифицированный интерфейс выглядит так: @GET(…) Observable<ApiResponse<User>> getUser(); И когда я хочу обработать ответ, мне […]

Дооснащение: ожидается BEGIN_OBJECT, но BEGIN_ARRAY

Извините за еще один вопрос об этой ошибке, но все, что я прочитал, было беспомощным для меня. Я использую Retrofit Library и GSON для анализа ответов JSON. Я получил эту ошибку: E/RETROFIT ERROR﹕ com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was BEGIN_ARRAY at line 1 column 2 path $ Ответ JSON: [ { "route_id": 16, "typeofmovement_name": "Type […]

Как отлаживать ошибки перестроения конфигурации с помощью настраиваемого JsonDeserializer?

Я проверил реакцию серверов и без проблем десериализую карту. Как только я присоединяю свой десериализатор, Retrofit возвращает RetrofitError с преобразованием типа, но никаких других исключений не выбрасывают, даже если я установил уровень ведения журнала Retrofit в LogLevel.FULL. Как я могу отлаживать свой собственный десериализатор, чтобы проверить, откуда происходит ошибка? – Я получаю json из блога […]

Retrofit: обрабатывать свойство, которое может быть либо пустой строкой, либо массивом

Я использую Retrofit2, и меня попросили использовать следующий json: {"Статус": "успех", полезная нагрузка {"prop1": 1234, "prop2": ""}} Проблема в том, что prop2 может быть пустой строкой или массивом объектов. (Пустой массив для них не является вариантом) Я не помню, чтобы Retrofit имел механизм борьбы с подобным типом непоследовательности. Я ищу рецепт, чтобы, возможно, получить это […]

Настройка RetOpost RestAdapter.LogLevel для чего-либо, кроме FULL, приводит к созданию пустого тела ответа

У меня есть следующие 3 класса и 1 интерфейс в моем проекте. Настройка ведения журнала на NONE приводит к «успеху», но с пустым телом ответа (см. Ниже в getMovies () -> success ()). URL, который выводится в этой ошибке, можно вырезать и вставить в браузер, и он отлично работает. Если я изменяю logging на FULL, […]

Как обрабатывать дополнительные поля JSON в Retrofit для Android?

Я работаю над парсером JSON для приложения для Android. Когда я вызываю сервер для данных, есть несколько необязательных полей, как мне это сделать в «Дооснащении» с помощью конвертера GSON? Нормальный ответ { "status":"SUCCESS", "class-1":{ "class.enddate":"Jan/10/2016", "class.startdate":"Jan/10/2015", "class.title":"Physics 1", "class.short.description":"Physics 1", "class.description":"This is a Physics Class" } } Альтернативный ответ, когда в некоторых полях нет данных […]

Создание JSON с Gson приводит к сбою приложения

Я использую Retrofit и Gson, чтобы загрузить список настраиваемых объектов на сервер. У меня не было никаких проблем: протестировано с помощью Mororola, Asus и многих других устройств. Никогда не проблема! Теперь я работаю с смартфоном Zebra, промышленным, и я получаю свое приложение почти всегда сбой во время создания JSON (я записал, что приложение записывало JSON […]

GET-запрос с помощью json – Retrofit 2.0

Как сделать этот запрос, о котором я расскажу ниже? Метод @GET . Запрос должен выглядеть так: /top40?data={"ranking":"world"} /top40?data={"ranking":"country"} @GET("/api/top40") Call<FamousTop40Model> getStatus( // what should be there? ); class Factory { private static FamousTop40Api service; public static FamousTop40Api getInstance() { Retrofit retrofit = new Retrofit.Builder() .baseUrl(ApiConstants.BASE_URL) .addConverterFactory(GsonConverterFactory.create()) .build(); service = retrofit.create(FamousTop40Api.class); return service; } } Можете […]

Переопределение специальных символов

Я использую retrofit с gson вместо android, так как он быстрее и безопаснее. Проблема в том, что модификация кодирует специальные символы типа = и ? , И url, который я использую, не может декодировать эти символы. Это мой код: Api класс: public interface placeApi { @GET("/{id}") public void getFeed(@Path("id") TypedString id, Callback<PlaceModel> response); } Основной […]