我想通过传递一些参数来使用改造库来解析和发布数据。但是在定义模型类时,我们会在变量前面使用@Serialized,使用那个Serialized.And @Get和@Query在将params传递给API时有什么区别。可以解释其中的差异。
答案 0 :(得分:6)
假设你有api方法@GET("/api/item/{id}/subitem/")
,所以使用@Path("id")
你可以在路径中指定项目的id。但是,您的api可能会在查询中使用其他参数,例如sort,lastupdatetime,limit等,因此您可以在@Query(value = "sort") String sortQuery
所以完整的方法看起来像:
@GET("/api/item/{id}/subitem")
SubItem getSubItem(@Path("id") int itemId, @Query("sort") String sortQuery, @Query("limit") int itemsLimit);
并且调用api.getSubItem(5, "name", 10)
将生成网址@GET("/api/item/5/subitem/?sort=name&limit=10")
和@Get
是HTTP方法
http://www.w3schools.com/tags/ref_httpmethods.asp说
客户端和客户端之间的请求 - 响应的两种常用方法 服务器是:GET和POST。
GET - 从指定资源请求数据POST - 将数据提交到 被处理到指定的资源
答案 1 :(得分:0)
@GET
是请求方法。你用它标记方法。
@Query
是查询参数(即URL中的参数)。用这个标记方法参数。
@Serialized
可能不属于Retrofit,请查看其包名称(将光标移动到那里并在Android工作室中按“Ctrl + Q”)