我正在阅读有关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);
谢谢
答案 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);
没有什么必须改变。