像这样做
ApiClient:
public class ApiClient {
private static Retrofit retrofit = null;
private static final String SERVER_BASE_URL = "https://wordsapiv1.p.mashape.com";
public static Retrofit getClient() {
if (retrofit == null) {
retrofit = new Retrofit.Builder()
.baseUrl(SERVER_BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
}
return retrofit;
}
}
API接口:
public interface ApiInterface {
@GET("/words/go/synonyms")
Call<ResponseBody> getDataFromServer(@Query("mashape-key") String mashape_key);
}
主要活动->onCreate():
ServerData serverData;
ApiInterface apiService = ApiClient.getClient().create(ApiInterface.class);
Call<ResponseBody> call = apiService.getDataFromServer(mashape_key);
call.enqueue(new Callback<ResponseBody>() {
@Override
public void onResponse(Call<ResponseBody> call, Response<ResponseBody> response) {
try {
Log.e("~~~~~ response", response.body().string());
String response = responsebody.body().string();
serverData = gson.fromJson(response, ServerData.class);
} catch (IOException e) {
e.printStackTrace();
}
}
@Override
public void onFailure(Call<ResponseBody> call, Throwable t) {
}
});
服务器数据:
public class ServerData {
@SerializedName("word")
private String word;
@SerializedName("synonyms")
private ArrayList<String> synonyms;
}