改造2搜索anotation

时间:2018-06-11 12:09:29

标签: android retrofit2

我想调用GitHub API来返回基于任意搜索参数的存储库列表,如下所示:https://api.github.com/search/repositories?q=custom_search_param

所以custom_search_param是在运行时声明的。

我创建了这个界面:

Retrofit retrofit = new Retrofit.Builder().baseUrl(GitHubClient.BASE_URL).addConverterFactory(GsonConverterFactory.create()).build();
    GitHubClient gitHubClient = retrofit.create(GitHubClient.class);

    Call<GitHubRepo> call = gitHubClient.getReposForSearchParam("tetris");
    call.enqueue(new Callback<GitHubRepo>() {
        @Override
        public void onResponse(Call<GitHubRepo> call, Response<GitHubRepo> response) {
            Log.d("resp",response.toString());
            Log.d("respBody",response.body().toString());
        }

        @Override
        public void onFailure(Call<GitHubRepo> call, Throwable t) {
            Log.e("wentWrong", t.getMessage());
        }
    });

我在MainActivity onCreate中将其称为:

onFailure

我总是收到async delay(ms: number) { await new Promise(resolve => setTimeout(()=>resolve(), ms)).then(()=>console.log("fired")); } 回复此消息:

  

E / goWrong:javax.net.ssl.SSLProtocolException:SSL握手   aborted:ssl = 0xb8679dd0:SSL库失败,通常是协议   错误                                                                            错误:1407742E:SSL例程:SSL23_GET_SERVER_HELLO:tlsv1 alert   协议版本(外部/ openssl / ssl / s23_clnt.c:741 0x9db10901:0x000

     

00000)

有没有人知道这里出了什么问题,是否应该以不同方式声明GitHubClient接口anottations?

1 个答案:

答案 0 :(得分:1)

因为GitHub api has disabled TLSv1.1至少需要支持TLSv1.1的设备或客户端。所以使用Android 4.4下面的Android设备它将无法正常工作。请参阅here