2016-09-02 25 views
1

我有以下要求,我需要使用Retrofit 2庫進行設置。 我發現了很多變體,但沒有運氣。帶過濾器參數的refrofit2請求。 @Query代替@Path

所以我的網址是:

http://server/api/v1/items?filter=param1==111;param2==222;param3==333;&select=param1;param2;param3

我試着在下面的格式寫入:

@GET("api/v1/items?filter=param1=={param1};param2=={param2};param3=={param3}") 
Call<ItemResponse> getItems(@Path("param1") String param1, @Path("param2") String param2, @Path("param3") String param3); 

但在這種情況下,我有一個例外

java.lang.IllegalArgumentException: URL query string "filter=param1=={param1};param2=={param2};param3=={param3}" must not have replace block. For dynamic query parameters use @Query. 
    for method IAramexApi.getItems 

所以,我需要使用@Query註釋,但我不知道如何在我的情況下使用它。

每個例子中,我看到了涵蓋下面的查詢:??

方法參數1 ==值1 ...

對於我來說,我需要這樣的東西

方法過濾器= param1 == value1 ...

請幫助我它。

回答

0

這是正確的做法:

@GET("api/v1/items") 
    Call<ItemResponse> getItems(@Query("param1") String param1, @Query("param2") String param2, @Query("param3") String param3);