如何进行此查询,我将在下面提到?
方法@GET.查询应如下所示:
?/ TOP40数据= { “排名”: “世界”}
?/ TOP40数据= { “排名”: “国家”}
@GET("/api/top40")
Call<FamousTop40Model> getStatus(
// what should be there?
);
class Factory {
private static FamousTop40Api service;
public static FamousTop40Api getInstance() {
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ApiConstants.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.build();
service = retrofit.create(FamousTop40Api.class);
return service;
}
}
你们能帮助我吗?
编辑:我应该在标题中有accessKey.
最佳答案 这有助于我:
public interface FamousTop40Api {
@GET("/api/top40")
Call<FamousTop40Model> getStatus(
@Query("data") String ranking
);
class Factory {
private static FamousTop40Api service;
public static FamousTop40Api getInstance() {
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
httpClient.addInterceptor(new Interceptor() {
@Override
public Response intercept(Interceptor.Chain chain) throws IOException {
Request original = chain.request();
Request request = original.newBuilder()
.header("accessKey", MainActivity.ACCESS_KEY)
.method(original.method(), original.body())
.build();
return chain.proceed(request);
}
});
OkHttpClient client = httpClient.build();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ApiConstants.BASE_URL)
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build();
service = retrofit.create(FamousTop40Api.class);
return service;
}
}
}
所以你需要在OkHttpClient的头文件中添加@Query和accessKey
和
FamousTop40Api.Factory.getInstance().getStatus("{\"ranking\":\"country\"}").enqueue();