我这样做了,它不起作用
@Headers("Accept: application/json")
@GET("objects/last_state/?modify_after={date}")
Call<State> getUpdate(@Header("Authorization") String token, @Path("date") String date);
在SyncHttpClient上,我这样做了:
syncHttpClient.get(context, "https://****/objects/last_state?modify_after=" + lastModify, headers, null, handler);
就可以了。我在这方面做错了什么?
我称为此方法:
MyApplication.retrofitInterface.getUpdate("SCToken " + singleton.getUid(), singleton.getLastModify()).enqueue(new Callback<State>() {
@Override
public void onResponse(Call<State> call, Response<State> response) {
Log.e("tak", "tak");
}
@Override
public void onFailure(Call<State> call, Throwable t) {
Log.e("nie", "nie");
}
});
答案 0 :(得分:3)
尝试通过get(?=)对这种类型的请求使用@Query改造
@Headers("Accept: application/json")
@GET("objects/last_state/")
Call<MovieResult> getAllMovies(@Header("Authorization") String token, @Query("modify_after") String date);
答案 1 :(得分:0)
在Retrofit中,您需要将路径的?modify_after={date}
部分表示为方法的@Query("name")
参数。
因此,将@Path("date")
替换为@Query("modify_after")
,然后放@GET("objects/last_state")