【发布时间】:2016-06-30 01:12:29
【问题描述】:
我正在使用改造从 http URL 获取数据。 我的接口类:
public interface SlotsAPI {
/*Retrofit get annotation with our URL
And our method that will return a Json Object
*/
@GET(url)
retrofit.Call<JSONObject> getSlots();
}
我的请求方法。
public void getResponse(){
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
//Creating an object of our api interface
SlotsAPI api = retrofit.create(SlotsAPI.class);
retrofit.Call<JSONObject> callback = api.getSlots();
callback.enqueue(new Callback<JSONObject>() {
@Override
public void onResponse(Response<JSONObject> response) {
if (response != null) {
Log.d("OnResponse", response.body().toString());
}
}
@Override
public void onFailure(Throwable t) {
t.printStackTrace();
}
});
}
在响应中,我收到一个空的正文。服务器以 200 OK 响应。
D/OnResponse: {}
但是当我在浏览器中打开 URL 时,屏幕上出现了 JSONObject。
【问题讨论】:
-
你能提供网址吗?
-
对不起,我不能。但这是一个常规的 http 链接。
-
我建议您使用诸如 Fiddler 或 Charles 之类的工具,并通过它们代理两个流量。然后,您可以比较请求中的差异并获得一个想法。也许是因为 UserAgent 字符串。
标签: android json gson retrofit2