2016-02-26 52 views
0

將List序列化爲查詢參數的最簡潔方法是什麼?目前,我的序列化成爲:在Android Retrofit中,如何序列化GET請求查詢的列表?

...search?items[]=this&items[]=cat&items[]=cookie... 

我需要的是以上,但沒有括號。我想Gson可能有辦法做到這一點,但我不確定。

UPDATE: 一個重要的事情是,這是一個動態的List需要被髮布,而不僅僅是單個PARAMS。

回答

0

對於動態列表,你可能會想使用@QueryMap

@GET("group/{id}/users") 
Call<List<User>> groupList(@Path("id") int groupId, @QueryMap Map<String, String> options); 
0

你可以看到這個例子是你必須註釋你的方法與註釋@Query的每個參數改造 http://square.github.io/retrofit/

的官方文檔。

@GET("group/{id}/users") 
Call<List<User>> groupList(@Path("id") int groupId, @Query("sort") String sort); 

enter image description here

我希望它可以幫助你。

0

你需要這樣定義你的方法在你的接口:

@GET("query") 
myMethod(@Query("items") String items) 

這是這樣的,你應該把它叫做:

ArrayList<String> list = new ArrayList<String>(); 
list.add("Item 1"); 
list.add("Item 2"); 
list.add("Item 3"); 
String items = ""; 
for (String s : list){ 
    items += s + ","; 
} 

api.query(items); 
相關問題