Вызов Retrofit2 к API Википедии не получил желаемого ответа - PullRequest
0 голосов
/ 19 января 2020

Итак, если я наберу этот вызов в браузере

https://en.wikipedia.org/w/api.php?action=query&titles=Image:Monet 1871 Seascape.jpg&prop=imageinfo&iiprop=url

я получу следующий ответ

{
"batchcomplete": "",
"query": {
    "normalized": [
        {
            "from": "Image:Monet 1871 Seascape.jpg",
            "to": "File:Monet 1871 Seascape.jpg"
        }
    ],
    "pages": {
        "-1": {
            "ns": 6,
            "title": "File:Monet 1871 Seascape.jpg",
            "missing": "",
            "known": "",
            "imagerepository": "shared",
            "imageinfo": [
                {
                    "url": "https://upload.wikimedia.org/wikipedia/commons/5/52/Monet_1871_Seascape.jpg",
                    "descriptionurl": "https://commons.wikimedia.org/wiki/File:Monet_1871_Seascape.jpg",
                    "descriptionshorturl": "https://commons.wikimedia.org/w/index.php?curid=30782803"
                }
            ]
        }
    }
}

Поэтому я настроил следующий вызов дооснащения

Retrofit retrofit =new Retrofit.Builder()
            .baseUrl("https://en.wikipedia.org/w/")
            .addConverterFactory(GsonConverterFactory.create())
            .build();
SearchInterface request = retrofit.create(SearchInterface.class);
    Call<WikiObject> call =request.getImageUrl(
            "query",
            "json",
            "imageinfo",
            "Image:Monet 1871 Seascape.jpg",
            "url"
    );

и мой интерфейс

@GET("api.php?")
Call<WikiObject> getImageUrl(
        @NonNull @Query("action") String action,
        @NonNull @Query("format") String format,
        @NonNull @Query("prop") String prop,
        @NonNull @Query("titles") String titles,
        @NonNull @Query("iiprop") String iiprop

);

и ответ:

"batchcomplete":"",
"query":{
   "normalized":[
        {
           "from":"Image:Monet 1871 Seascape.jpg",
           "to":"File:Monet 1871 Seascape.jpg"
        }
   ],
   "pages":
       {
       }
 }

Мои страницы пусты. Я только пытаюсь получить URL, если imageinfo. Что я делаю не так?

ОБНОВЛЕНИЕ @ Фарук Топтас предложил перехватить мой звонок, и мой звонок правильный. Если я ввожу свой вызов в браузер, я получаю ожидаемый ответ. Так что у меня есть другая проблема. Любое предложение?

ОБНОВЛЕНИЕ 2 Я получаю это Unable to resolve Lretrofit2/Response; annotation class 7336'\

...