首页 > 解决方案 > 如何在 Retrofit 2 中为请求使用注释?

问题描述

我有一个用于请求 URL 的 APIService 类。

我想将“/products?page=1”设置为注释@GET,但我希望我可以更改参数和值。

这是我的 APIService 类:

public interface APIService {

 @GET("products?{parameter}={value}")
  Call<List<DataModelProducts>> getProducts(@Path("parameter") String  parameter,@Path("value") String value);
}

如何更改我的应用程序中的“参数”和“值”?

标签: androidretrofit

解决方案


@Query我相信使用如下注释就足够了:

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

它将创建一个请求,例如:.../users/list?sort=desc

或者,如果您希望能够同时更改上述示例请求的排序/降序,您可以使用@QueryMap

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

这将创建一个请求,例如:.../users/list?key=value 其中键/值在Map<String, String> options

有关 Retrofit2 的不同注释的更多信息,您可以访问 Retrofit API 声明


推荐阅读