Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/182.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 对wikipedia API的2次调用未获得所需的响应_Android_Json_Retrofit2_Wikipedia Api - Fatal编程技术网

Android 对wikipedia API的2次调用未获得所需的响应

Android 对wikipedia API的2次调用未获得所需的响应,android,json,retrofit2,wikipedia-api,Android,Json,Retrofit2,Wikipedia Api,所以,如果我在浏览器中输入这个调用 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.jp

所以,如果我在浏览器中输入这个调用

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"
    );
我的页面是空的。我只想在imageinfo出现时获取url。我做错了什么

更新 @法鲁克·托普塔斯建议我拦截我的电话,我的电话是正确的。如果我把电话输入浏览器,我会得到预期的响应。所以我还有其他问题。有什么建议吗

更新2 我明白了
无法解析Lretrofit2/响应;注释类7336'\

使用okhttp记录器拦截器。您可以看到来自logcat的请求和响应。你会发现出了什么问题。谢谢,请参阅更新。
WikiObject
类型是什么样子的?我曾经创建过对象。我似乎在pages对象中的-1处遇到问题<代码>jsonschema将其转换为_1。似乎不起作用
@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":
       {
       }
 }