【问题标题】:Imgur not returning Image data model using Retrofit 2.0Imgur 未使用 Retrofit 2.0 返回图像数据模型
【发布时间】: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 调试器。

标签: java android retrofit


【解决方案1】:

我已经设法找出我的问题;睡眠不足。我用来反序列化从 Imgur API 返回的 JSON 的 ImgurResponse 不正确。我返回的响应包含successstatusdata,其中data 包含我要解析的信息。没有意识到我的错误,因为调试器的“原始响应”不包含 API 的实际响应。

【讨论】:

    猜你喜欢
    • 2017-10-09
    • 2016-08-31
    • 1970-01-01
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 2013-10-09
    • 1970-01-01
    • 2016-04-06
    相关资源
    最近更新 更多