2016-11-22 42 views
2

我正在閱讀文章和文檔關於改造1 & 2.我有下一個源代碼來獲取用戶的回購。如何在URL中間查詢參數與改造

@GET("users/{user}/repos") 
Call<List<GithubRepo>> getRepos(@Path("user") String user); 

在retrofit2中我看到現在我們需要使用@Query更改@Path,但是我不知道使用的方法是否相同。這就像下一個,或者我需要改變一些東西?

@GET("users/{user}/repos") 
Call<List<GithubRepo>> getRepos(@Query("user") String user); 

謝謝你還可以添加

回答

3

兩個不同@Query用於

時,你必須在

URL分配一定的價值像www.xxx.com/user=name (大多@query被用來搜索用戶詳細信息)

我們用這樣的....

@GET("users/repos") 
Call<List<GithubRepo>> getRepos(@Query("user") String user); 
當您更改 (大多@path用於路徑或URL或URL

的關鍵詞中www.xxx.com/sam,www.xxx.com /蘇珊等

和@Path使用 取不同的用戶的數據)

我們用這樣的....

@GET("users/{user}/repos") 
Call<List<GithubRepo>> getRepos(@Path("user") String user); //here url changes with the value of String user 

注: - @Query總是在URL的末尾。而@Path在URL中的任何地方使用

+0

引起:java.lang.IllegalArgumentException:URL查詢字符串不能有替換塊。對於動態查詢參數,使用@ Query.I然後不知道如何在用戶之間插入用戶ID /.../repos – MAOL

+0

您確定URL中間有'user',時間查詢的MOST放在URL末尾.. ....請你分享整個'RESTFUL API' ..... – sushildlh

+0

它在中間,是github api – MAOL

0

查詢參數。

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

什麼都不能改變。