Ошибка возврата запроса API при попытке получить массив чисел в возвращаемом теле на java и модифицировать - PullRequest
0 голосов
/ 12 ноября 2018

Я пытаюсь получить массив идентификаторов фикстур при выполнении запроса get, его адрес с 2 параметрами данных (до и от даты), запрос выглядит нормально, так как его ретушер 200 в порядке, но, похоже, не работает полностью.Я тестировщик, поэтому моя автоматизация API не очень хороша, любая помощь оценена, или любая дополнительная информация.

Я продолжаю получать ответ: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Невозможно создать экземпляр fixturesapi.retrofit.calls.RetrofitCallsGetFixtures(Создатели отсутствуют, как и конструкция по умолчанию): абстрактные типы либо должны быть сопоставлены с конкретными типами, либо иметь собственный десериализатор, либо содержать дополнительную информацию о типах в [Source: (okhttp3.ResponseBody $ BomAwareReader);строка: 1, столбец: 1]

Мой интерфейс:

открытый интерфейс RetrofitCallsGetFixtures {

@GET("available-fixtures")
Call<RetrofitCallsGetFixtures> getFixtureId(@Query("from") String from,@Query("to") String to);}

В то время как мое определение шага:

publicкласс GetFixtures extends TestBaseFix {

Retrofit retrofit = super.buildRetrofit(super.buildOkHttpClient());
RetrofitCallsGetFixtures call = retrofit.create(RetrofitCallsGetFixtures.class);

private Response<GetGameResponse> getGameResp;
private Response<RetrofitCallsGetFixtures> respBody6;


public void get_fixtures_between_dates() throws Exception {


    String DATE_FORMAT = "YYYY-MM-dd";
    SimpleDateFormat sdf = new SimpleDateFormat(DATE_FORMAT);
    Calendar c1 = Calendar.getInstance(); // today
    String todays_date = sdf.format(c1.getTime());

    String DATE_FORMAT1 = "YYYY-MM-dd";
    SimpleDateFormat sdf1 = new SimpleDateFormat(DATE_FORMAT1);
    Calendar c2 = Calendar.getInstance(); // today
    c2.add(Calendar.DATE, 1);
    String tomorrows_date = sdf1.format(c2.getTime());

    respBody6 = call.getFixtureId(todays_date, tomorrows_date).execute();

}
...