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":
{
}
}