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

How to query a param in the middle of an URL with Retrofit

我正在阅读 post 和有关 Retrofit 1 和 2 的文档。我有下一个源代码可以从用户那里获取回购协议。

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

在retrofit2中看到现在需要把@Path改成@Query,不知道使用方法是不是一样。就像下一个一样,还是我需要更改更多内容?

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

谢谢

也可以添加查询参数。

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

一切都必须改变。

两者不同,使用@Query

当你必须在

中分配一些值时

URL like www.xxx.com/user=name (mostly @query is used to search the user details )

我们这样使用....

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

和@path用于更改路径或URL或URL

的关键字

like www.xxx.com/sam ,www.xxx.com/sushan ,etc (mostly @path is used to fetch data of different user)

我们这样使用....

@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

中的任何地方