Как получить ответ на запрос Retrofit POST - PullRequest
0 голосов
/ 18 октября 2018

Я исправляю сломанный проект и пытаюсь исправить одну из их функций.

Мне нужно решить, используя Retrofit, чтобы создать сообщение с данными, чтобы затем получить ответ с информацией.

public interface GetDataService {

@FormUrlEncoded
@POST("pocketdeal/togetallfavorites")
Call<Favourite> getFavorite();

}

Метод получения любимой информации

     public void MyFavoriteDeals4(String title, String body) {

    //(title, body, 1) is the method for adding things
    mAPIService.getFavorite().enqueue(new Callback<Post>() {
        @Override
        public void onResponse(Call<Post> call, Response<Post> response) {

            if(response.isSuccessful()) {
                showResponse(response.body().toString());
                Log.e("Favorites", "Successful");
            }
        }

        @Override
        public void onFailure(Call<Post> call, Throwable t) {
            Log.e("Favorites", "Failure");
        }
    });
}

Я не получаю ответа или ошибки, и при этом я не использовал всю необходимую информацию.Кроме того, плохо ли размещать информацию об API в Интернете?

Информация, которую мне нужно использовать ..

Данные моего сообщения: lat = 37.785834 & long = -122.406417 & android_id = 1AC7C092-AC45-419F-AFED-3D2FEE473750 & часовой пояс = Америка / Ванкувер

Мой URL: удален для конфиденциальности

Заголовок запроса: Content-Type с application / x-www-form-urlencoded

Я протестировал все это в онлайн-тестере API, поэтому я знаю, что при правильной работе он дает правильные результаты

1 Ответ

0 голосов
/ 18 октября 2018

Поскольку вы используете @FormUrlEncoded, вы должны добавить свои параметры с аннотацией Field:

public interface GetDataService {

@FormUrlEncoded
@POST("pocketdeal/togetallfavorites")
Call<Favourite> getFavorite(@Field("lat") Long lat, @Field("long") Long lng, @Field("android_id") String androidId, @Field("timezone") String timezone);

}

И вы должны инициализировать ваш вызов дооснащения следующим образом:

Call<Favourite> call2 = favouriteInterfacemAPIService.getFavorite(37.785834, -122.406417, "1AC7C092-AC45-419F-AFED-3D2FEE473750", "America/Vancouver");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...