Я хотел бы вызвать GitHub API для возврата списка репозиториев на основе произвольного параметра поиска, подобного этому: https://api.github.com/search/repositories?q=custom_search_param
Таким образом, custom_search_param объявлен во время выполнения.
Я сделалэтот интерфейс:
public interface GitHubClient {
String BASE_URL = "https://api.github.com/";
@GET("search/repositories")
Call<GitHubRepo> getReposForSearchParam (@Query("q") String custom_search_param);
}
Я вызываю его в MainActivity onCreate следующим образом:
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());
}
});
И я всегда получаю onFailure
ответ с этим сообщением:
E / wentWrong: javax.net.ssl.SSLProtocolException: рукопожатие SSL прервано: ssl = 0xb8679dd0: сбой в библиотеке SSL, обычно ошибка протокола: 1407742E: процедуры SSL: SSL23_GET_SERVER_HELLO: версия протокола оповещения tlsv1 (external / openssl / ss)/s23_clnt.c:741 0x9db10901: 0x000
00000)
Кто-нибудь знает, что здесь не так, и если анотации интерфейса GitHubClient должны объявляться по-другому?