如何使用Retrofit查询URL中间的参数

时间:2016-11-22 10:19:38

标签: android path retrofit2 param

我正在阅读有关Retrofit 1& S的帖子和文档。 2.我有下一个源代码来获取用户的回购。

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

在retrofit2中,我看到现在我们需要使用@Query更改@Path,但我不知道using方法是否相同。这就像下一个或者我需要更改一些东西?

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

谢谢

2 个答案:

答案 0 :(得分:4)

两者都是不同的@Query使用

当您必须在

中指定一些值时
  

www.xxx.com/user=name 等网址(主要是@query用于搜索用户详细信息)

我们这样使用....

@GET("users/repos")
Call<List<GithubRepo>> getRepos(@Query("user") String user);
当您更改URL

的路径或URL或关键字时,将使用

和@path

  

如www.xxx.com/sam,www.xxx.com / sushan等(主要是@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中的任何位置

答案 1 :(得分:0)

也可以添加查询参数。

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

没有什么必须改变。