你有几种方法来实现:
>默认情况下,Retrofit对所有空查询参数正确处理null,因此您可以执行以下操作:
@GET("/user/{id}/likes")
void getLikes(@Path("id") int id, @Query("n") Integer number, @Query("pos") Integer pos Callback cb);
如果使用Object而不是int,则可以使用可选参数的null调用方法:
getLikes(1, null, null, cb); // to get /user/1/likes
getLikes(1, 2, null, cb); // to get /user/1/likes?n=2
>通过使用RequestInterceptor:
RestAdapter.Builder builder= new RestAdapter.Builder()
.setRequestInterceptor(new RequestInterceptor() {
@Override
public void intercept(RequestFacade request) {
request.addHeader("Accept", "application/json;versions=1");
if(/*condition*/){
request.addQueryParam(arg0, arg1)
}
}
});