我是 Retrofit 2 库的新手。作为初学者,我阅读了几篇文章来入门,并且我设法从我的 RESTful API 获取 XML 数据而不指定参数。在我的方法中,生成的 XML 资源如下。
@GET
@Path("/foods")
@Produces(MediaType.APPLICATION_XML)
public List<FoodPyramid> getFoodPyramid() {
Session session = HibernateUtil.getSessionFactory().openSession();
trans = session.beginTransaction();
List<FoodPyramid> foodList = session.createQuery("from FoodPyramid").list();
try {
trans.commit();
session.close();
} catch (Exception e) {
session.close();
System.err.println("Food Pyramid fetch " + e);
}
System.err.println("Am in the food modal. . . . . . . .");
return foodList;
}
现在当我尝试在界面中传递参数时
@GET("user/{username}/{password}")
Call<List<UserCredentail>> getUserOuth(@Query("username") String username, @Query("password") String password);
运行失败,客户端没有收到数据。我花了一周时间试图修复它,尽管通过使用非参数调用来获取资源;
于是尝试改成:
@GET("user/{username}/{password}")
Call<List<UserCredentail>> getUserOuth(@Path("username") String username, @Path("password") String password);
效果很好。所以我的问题是:我什么时候需要使用@Query
and @Path
改造2中的注释?
考虑这是网址:
www.app.net/api/searchtypes/862189/filters?Type=6&SearchText=School
现在这是调用:
@GET("/api/searchtypes/{Id}/filters")
Call<FilterResponse> getFilterList(
@Path("Id") long customerId,
@Query("Type") String responseType,
@Query("SearchText") String searchText
);
所以我们有:
www.app.net/api/searchtypes/{Path}/filters?Type={Query}&SearchText={Query}
之后发生的事情?通常是查询。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)