【发布时间】:2015-11-13 02:11:32
【问题描述】:
所以我正在开发一个 Android 应用程序,我决定使用 Retrofit 2.0 来处理我对所需各种 API 的所有 HTTP 请求。我遇到了一个我无法调试的问题,即当我使用图像 ID 发送图像信息请求时,我只收到 200 响应,其中包含我发送 GET 请求的链接。使用 Postman,我得到了我正在寻找的响应(这是 Imgur 图像数据模型 JSON:https://api.imgur.com/models/image),但我似乎无法让它与 Retrofit 一起使用。
下面我附上了服务类和请求+响应。非常感谢任何信息或头脑风暴:)
界面:
public interface ImgurService
{
@GET("Image/{id}")
Call<ImgurResponse> getImageInfo(@Path("id") String id);
}
服务类实例:
public static ImgurService getInstance()
{
if (IMGUR_SERVICE == null) {
Interceptor interceptor = new Interceptor()
{
@Override
public Response intercept(Chain chain) throws IOException
{
Request newRequest = chain.request().newBuilder().addHeader("Authorization", CLIENT_ID).build();
return chain.proceed(newRequest);
}
};
OkHttpClient client = new OkHttpClient();
client.interceptors().add(interceptor);
Retrofit RETROFIT = new Retrofit.Builder()
.baseUrl(BASE_URL)
.client(client)
.addConverterFactory(GsonConverterFactory.create())
.build();
IMGUR_SERVICE = RETROFIT.create(ImgurService.class);
}
return IMGUR_SERVICE;
}
请求:
Request{method=GET, url=https://api.imgur.com/3/Image/CgZzfSd, tag=Request{method=GET, url=https://api.imgur.com/3/Image/CgZzfSd, tag=null}}
原始响应:
Response{protocol=http/1.1, code=200, message=OK, url=https://api.imgur.com/3/Image/CgZzfSd}
【问题讨论】:
-
请求和打印的代码看起来如何? stackoverflow.com/questions/22325641/… 建议打印
Response可能会省略响应正文,除非您设置调试模式 -
@zapl 该请求和响应直接来自 Android Studio 调试器。